나는 수면이 어떤 신호도 처리할 수 없다는 것을 읽었습니다. 그래서 SIGTERM
내가 보낼 때 무시해야 할 것 같습니다 .
sleep 10000 &
26322
kill -s SIGTERM 26322
[1]+ Exited sleep 1000
왜 잠이 죽는가? 결국 신호 처리기가 설치되어 있지 않습니다.
답변1
다른 언급이 없으면 신호 처리기가 설치되지 않았거나 신호를 명시적으로 무시하는 프로그램이 기본 작업을 수행합니다.
신호 수신 시 기본 동작은 TERM
프로세스를 종료하는 것입니다.
sleep
특히 유틸리티의 경우 POSIX 사양에 명시적으로 언급된 유일한 신호는 ALRM
프로세스가 종료 상태 0("성공")으로 종료되도록 하는 신호입니다. 무시 하거나 기본 작업을 수행하도록 sleep
선택할 수도 있습니다 . ALRM
다른 모든 신호의 경우 기본 작업이 수행됩니다.