kill
例. プロセスIDが12345のプロセスを強制終了する
kill 12345
kill
は、その名の通り最も基本的なkill系コマンドだ。
killに指定するのはプロセスIDで、そのプロセスIDを持つプロセスにシグナルを送信する。 プロセスIDはps
やtop
などで調べることが多い。
番号さえ間違えなければ、プロセスIDは最も的確にプロセスを特定できる。 そのためピンポイントでプロセスを殺したい場合に良く使う。
pkill
例. ユーザrootのsshdプロセスを強制終了する
pkill -u root sshd
pkill
は、条件にマッチしたプロセスにシグナルを送信するコマンドだ。
条件に指定できるのは、プロセス名、ユーザID、グループID、セッションID、制御端末などがある。pgrep
と同じ引数を取るので、まずpgrep
でプロセスを確認した上で、pkill
でシグナルを送信する使い方が主だろう。
高機能さはピカイチで、非常に便利である。ただkill
や後述のkillall
と比較して、手軽さには欠ける感じも否めない。余談だがSolaris由来のコマンドらしい。
skill
例. 3人のユーザのプロセスにシグナルを送信する
skill viro lm devem
skill
も、条件にマッチしたプロセスにシグナルを送信するコマンドだ。
しかし、skill
は位置づけが良くわからないコマンドである。pkill
より低機能だし、kill
やkillall
より手に馴染む感じでもない。
私は存在だけは知っているが、使ったことはないので説明は省略したい。
killall
例. Xorgプロセスを強制終了する
killall Xorg
killall
は、プロセス名がマッチがした全てのプロセスにシグナルを送信するコマンドだ。
殺したいプロセス名が明らかな場合は、このコマンド一発で済むので便利である。ただし、killallの名が示す通り、マッチした全てのプロセスが死ぬので、使用には注意が必要だ。
xkill
例. 画面で選択したウィンドウのプロセスを強制終了する
xkill
xkill
は、X Window System上で選択したウィンドウのプロセスにシグナルを送信するコマンドだ。
実行するとカーソルがXマークになり、クリックしたウィンドウのプロセスにシグナルが送られる。
暴走したXのプログラムを殺したい場合によく使う。