killで殺せないプロセスに出会った
auです。
bashを作ってバックグラウンドで実行するPythonファイルを作ったのですが、満足して終了させようとする際にkillできなかったので調べてみました。
こちらの記事を参考にさせていただきました。
Pythonファイルをhogehoge.shというbashファイルで、無限に動かすようにしています。
動かし始めた時のプロセス群はこんな感じです。
ps u USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND user 13186 0.0 0.1 4317280 13788 s002 T 7:37PM 0:00.04 vim hogehoge.sh
十分チェックしたしkillして終わるかーと思ってkillをしてみると・・・
ps u USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND user 13186 0.0 0.1 4317280 11820 s002 T 7:37PM 0:00.04 vim hogehoge.sh
あれ・・・まだ生きてる・・・
このあとkillをしまくったのですが、一向に治りません。最終的に一定のPIDで落ち着きました。
原因を調べてみると、STATの部分がよくないみたいです。
この場合は「T」です。
T: 停止処理中
停止処理しているプロセスにはkillは通用しないということでしょうか・・・
強制終了することでとりあえず無理やり殺すことはできました。
kill -9 PID
- 9は強制終了のコマンドです。