できるだけ慎重かつ慎重にプロセスを終了するには、
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
プロセスに必要なすべてのリソースを解放し、完全にシャットダウンするのに十分な機会を提供してください。