auの日記

プログラミング初心者の日記。(auはハンドルネームです)

killで殺せないプロセスに出会った

auです。

bashを作ってバックグラウンドで実行するPythonファイルを作ったのですが、満足して終了させようとする際にkillできなかったので調べてみました。

こちらの記事を参考にさせていただきました。

aqua-nora.hatenadiary.org


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は強制終了のコマンドです。