문제
다음 중 시그널에 부여된 번호값을 확인하는 방법으로 알맞은 것은?
① signal 명령어를 사용해서 확인한다. ② kill 명령어를 사용해서 확인한다. ③ ps 명령어를 사용해서 확인한다. ④ exec 명령어를 사용해서 확인한다.
정답
2번
해설
정답: 2. kill 명령에 -l(list) 옵션을 주면 시스템이 지원하는 시그널의 이름과 번호 목록을 출력해 확인할 수 있다(kill -l).
오답 풀이
- 1번: "signal" 이라는 단독 명령은 표준 리눅스 명령이 아니다(시그널은 kill/trap 등으로 다룬다).
- 2번: kill -l 로 시그널 번호와 이름을 확인하므로 옳다.
- 3번: ps 는 프로세스 목록을 보여줄 뿐 시그널 번호 목록을 출력하지 않는다.
- 4번: exec 는 현재 프로세스를 새 프로그램으로 대체하는 명령으로 시그널 확인과 무관하다.
보충 개념 kill -l 은 전체 시그널 목록을, "kill -l 9" 처럼 번호를 주면 해당 시그널 이름(KILL)을 보여준다. 자주 쓰는 시그널: 1 SIGHUP, 2 SIGINT, 9 SIGKILL, 15 SIGTERM, 20 SIGTSTP.