가능한 한 조심스럽고 정중하게 프로세스를 종료하려면
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
프로세스에 필요한 모든 리소스를 해제하고 완전히 종료할 수 있는 충분한 기회를 제공하십시오.