Linuxでプロセスを強制終了する5つのkill系コマンド
タグ: linux / 初版公開: 2013-09-29

kill

例. プロセスIDが12345のプロセスを強制終了する

kill 12345

killは、その名の通り最も基本的なkill系コマンドだ。

killに指定するのはプロセスIDで、そのプロセスIDを持つプロセスにシグナルを送信する。 プロセスIDはpstopなどで調べることが多い。

番号さえ間違えなければ、プロセス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より低機能だし、killkillallより手に馴染む感じでもない。

私は存在だけは知っているが、使ったことはないので説明は省略したい。

killall

例. Xorgプロセスを強制終了する

killall Xorg

killallは、プロセス名がマッチがした全てのプロセスにシグナルを送信するコマンドだ。

殺したいプロセス名が明らかな場合は、このコマンド一発で済むので便利である。ただし、killallの名が示す通り、マッチした全てのプロセスが死ぬので、使用には注意が必要だ。

xkill

例. 画面で選択したウィンドウのプロセスを強制終了する

xkill

xkillは、X Window System上で選択したウィンドウのプロセスにシグナルを送信するコマンドだ。

実行するとカーソルがXマークになり、クリックしたウィンドウのプロセスにシグナルが送られる。

暴走したXのプログラムを殺したい場合によく使う。