문제
다음 명령의 결과에 대한 설명으로 알맞은 것은?
① PID가 513번인 프로세스에 1번 시그널을 전송한다. ② PID가 513번인 프로세스에 9번 시그널을 전송한다. ③ PID가 513번인 프로세스에 15번 시그널을 전송한다. ④ kill 명령어는 프로세스명을 사용하므로 명령 오류가 발생한다.
정답
3번
해설
정답: 3. kill 명령에 시그널 번호를 생략하면 기본값으로 15번(SIGTERM)을 보낸다. 따라서 "kill 513" 은 PID 513 번 프로세스에 15번 시그널(정상 종료 요청)을 전송한다.
오답 풀이
- 1번: 시그널을 지정하지 않았으므로 1번(SIGHUP)이 아니라 기본값 15번이 전송된다.
- 2번: 9번(SIGKILL)은 "kill -9" 처럼 명시해야 전송되며 기본값이 아니다.
- 3번: 기본 시그널 15번(SIGTERM)을 PID 513 에 전송하므로 옳다.
- 4번: kill 은 기본적으로 프로세스 ID(PID)를 인자로 받으므로 513(PID)에 대해 정상 동작한다(이름 기반은 pkill/killall).
보충 개념 kill 기본 시그널은 15(SIGTERM, 정리 후 종료). 강제 종료는 -9(SIGKILL). 이름으로 종료하려면 pkill·killall 을 쓴다.