리눅스 시스템 관리리눅스마스터 1급 · 2016년09월10일 · 35/100
35.다음 명령에 대한 설명으로 틀린 것은?

1
명령어가 정상 동작하지 않는다.정답
2
여러 개의 httpd 데몬을 모두 종료한다.
3
시그널(Signal)은 15번을 사용하였다.
4
killall 명령어와 비슷한 효과를 나타낸다.
해설
kill 'pgrep httpd' 명령어를 실행하게 되면 httpd 문자열이 들어가는 모든 프로세스를 종료 시킨다. [해설작성자 : moomti7] SIGTERM(15) : 정상 종료시키는 시그널로 kill의 기본 시그널 [해설작성자 : LSG] pgrep 결과로 PID 를 받아오기 때문에 명령어는 정상실행됨 [해설작성자 : 김치맨] pgrep 시도시 일치하는 프로세스가 없을 경우 kill 명령에 PID를 제공할 수 없어 원하는 결과가 도출되지 않을 수 있습니다. 따라서 대상 프로세스 (즉 httpd 데몬)가 현재 실행중인지 확인바랍니다. 하기 설명은 별다른 설치나 설정을 하지 않아도 사용할 수 있는 sleep 명령을 사용하여 문제를 설명하고 있으니 참고바랍니다. $ sleep 60 & # 60초 동안 대기. 다만 추가 작업이 필요하므로 해당 명령을 백그라운드로 보냄 [1] 67287 $ pgrep sleep # 상기 명령 PID 확인 67287 $ kill `pgrep sleep` # kill 67287 와 동일하며 kill $(pgrep sleep) 도 사용가능 [1]+ Terminated sleep 60 [해설작성자 : 리마] 출력이 여러 줄일 경우 정상적으로 동작하지 않을수도 있으니 실무에선 이렇게 사용하기 보단 'kill $(pgrep httpd)' 이런식으로 배시 배열로 처리하는것이 좋습니다.