頑固なプロセスを殺す方法

頑固なプロセスを殺す方法

死なない迷惑なプロセスがあります。

ps -A | grep "nzbget" 

私にしてください:

11394 pts/3    00:00:00 nzbget

私が試した場合:

pkill nzbget (or 11394)

...答えはありません。プロセスはまだ進行中で、上部には次の内容が表示されます。

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
11394 asystem+  20   0  125448   6244   4984 T   0.0  0.1   0:00.00 nzbget

"nzbget -s"を使用してnzbgetを実行し、実行後にこれを実行すると(そして停止しようとすると)[ソケットバインディングに失敗しました]エラーが発生し、再起動するだけです。

再起動せずにどのように終了できますか?

ベストアンサー1

プロセスが停止すると*(Tのステータス出力を参照top)、信号処理はまったく実行できません。したがって、プロセス相互作用を必要としない信号を使用する必要があります。あなたの場合SIGKILL(9)は以下のようになります。

kill -9 11394

何らかの理由でプロセスのコアダンプを取得したい場合(そしてシステムがそれに対して設定されている場合)のSIGSEGV代わりに(11)を使用できます。また、プロセス相互作用は必要ありません。

*追跡されたプロセスはシグナルを処理できなければならず、これがプロセスを停止する可能性があるため、ここで停止すると仮定します。

おすすめ記事