죽이는 방법——칭러우? [복사]

죽이는 방법——칭러우? [복사]

가능한 한 조심스럽고 정중하게 프로세스를 종료하려면
kill 명령에 어떤 신호를 사용해야 하며 어떤 순서로 사용해야 합니까?

원할 경우 프로그램에 정리할 시간을 주고 싶습니다. SIGTERM명령을 보내는 것만으로는 너무 가혹할 것 같습니다.

결국에는 SIGKILL(" -9")를 사용하게 됩니다. 이는 분명합니다.

하지만 어디서부터 시작해야 할까요? SIGHUP? 어떤 신호가 시간 낭비일까요?


관련 신호는 다음에서 참조용으로 제공됩니다.

man 7 signal

  Signal     Value     Action   Comment
   ──────────────────────────────────────────────────────────────────────
   SIGHUP        1       Term    Hangup detected on controlling terminal
                                 or death of controlling process
   SIGINT        2       Term    Interrupt from keyboard
   SIGQUIT       3       Core    Quit from keyboard
   SIGKILL       9       Term    Kill signal
   SIGPIPE      13       Term    Broken pipe: write to pipe with no
                                 readers
   SIGTERM      15       Term    Termination signal

답변1

SIGTERM나는 이것이 갈 길이라고 생각합니다. 대부분의 경우에 작동합니다. 작동하지 않는 경우에는 SIGKILL어쨌든 수행해야 합니다.
SIGTERM프로세스에 필요한 모든 리소스를 해제하고 완전히 종료할 수 있는 충분한 기회를 제공하십시오.

관련 정보