SIGTERM이 수면을 죽일 수 있는 이유는 무엇입니까? [복사]

SIGTERM이 수면을 죽일 수 있는 이유는 무엇입니까? [복사]

나는 수면이 어떤 신호도 처리할 수 없다는 것을 읽었습니다. 그래서 SIGTERM내가 보낼 때 무시해야 할 것 같습니다 .

sleep 10000 &
26322
kill -s SIGTERM 26322
[1]+  Exited             sleep 1000 

왜 잠이 죽는가? 결국 신호 처리기가 설치되어 있지 않습니다.

답변1

다른 언급이 없으면 신호 처리기가 설치되지 않았거나 신호를 명시적으로 무시하는 프로그램이 기본 작업을 수행합니다.

신호 수신 시 기본 동작은 TERM프로세스를 종료하는 것입니다.


sleep특히 유틸리티의 경우 POSIX 사양에 명시적으로 언급된 유일한 신호는 ALRM프로세스가 종료 상태 0("성공")으로 종료되도록 하는 신호입니다. 무시 하거나 기본 작업을 수행하도록 sleep선택할 수도 있습니다 . ALRM다른 모든 신호의 경우 기본 작업이 수행됩니다.

바라보다sleep이 유틸리티에 대한 POSIX 문서.

관련 정보