
プログラムを強制終了するときにいつも問題があります。とてもイライラします。以下の例を見てください。ID 29409 の nano プロセスを強制終了したいだけです。sudo kill 29409 と入力しても機能しないのはなぜでしょうか。
$ ps aux | grep 29409
root 29409 0.0 0.0 71248 3980 pts/1 T 00:06 0:00 sudo nano /etc/network/interfaces
computer 29565 0.0 0.0 15948 2236 pts/1 S+ 00:13 0:00 grep --color=auto 29409
pc@pc:~$ sudo kill 29409
pc@pc:~$ ps aux | grep 29409
root 29409 0.0 0.0 71248 3980 pts/1 T 00:06 0:00 sudo nano /etc/network/interfaces
答え1
キルシグナルを送る必要がありますシグナルキル値が 9 の場合、指定されたプロセス ID を持つプロセスが終了します。
kill -9 PID
ジョブによっては、バックグラウンド ジョブの場合は、kill -9 $! PID
コマンドを使用してジョブを強制終了する必要がある場合があります。
または、top
コマンドを使用することもできます。すべてのプロセスを一覧表示する Top コマンドを実行し、それを使用してk
プロセスを強制終了します。
ページを使用するといつでもヘルプを得ることができますman
。コマンドを使用するとman kill
詳細な情報が提供されます。
幸運を!
答え2
pkill を使用する方が適切だと思います:
sudo pkill nano
プロセス ID の代わりにプロセス名を pkill に渡すと、それに一致するすべてのプロセスを終了しようとします。コマンドと同様にkill
、プロセスが正常に終了しない場合は、SIGTERM ではなく SIGKILL シグナルを送信することもできます。
sudo pkill -9 nano