web-dev-qa-db-ja.com

殺さないで殺す

スクリプトを作成しているPirateRadio.pyという名前のスクリプトがあります。スクリプトを強制終了してリロードする必要があります。おそらく同じPIDで。 SIGHUPは確かなものだと思いました。 #pkill -1 PirateRadio.pyを実行すると

何も起こりません。ラジオは動き続けます。 OK、私は#pkill -9 PirateRadio.pyまだ何も試みませんでした、ラジオは続けています。

ps aux | grep Pir
root    987 45.7 10.8 1266088 433868 ?      Sl   Mar15 2728:13 /root/PirateRadio.py
root    24924  0.0  0.0   4388   800 pts/0    S+   11:13   0:00 grep PirateRadio.py

それで私は#kill -s 1 987を試しましたが何も起こりません。 #kill -s 1 987

その後、システムがハングします。だから私はそれを望んでいない、と思う。だから私は使用します:#kill -s 9 987

これにより、スクリプトが十分に終了します。私は他のデスクトップでpkillを使用しましたが、ここで何が起こっていますか? pkillが何をしているか、または何をしていないかを調べるにはどこを調べることができますか?

私はdmesgを調べましたが、pkillを実行した後、pkillのマニュアルページに詳細なオプションがありませんでした。

6
j0h

pkill manpage から:

マッチングに使用されるプロセス名は、/ proc/pid/statの出力に存在する15文字に制限されています。 -fオプションを使用して、完全なコマンドライン/ proc/pid/cmdlineと照合します。

だから試して

pkill -1 -f PirateRadio.py
18
Florian Diesch