このエントリーをはてなブックマークに追加

killallコマンドで大量に動作している同じプログラムのプロセスをまとめて削除することができます。 使い方はほぼpkillと同じで、プロセス名で停止する対象を指定できます。

試しにsleepプロセスをまとめて止めてみます。 別コンソールからsleepを複数起動しておきます。

$ sleep 100 &
[1] 6503
$ sleep 100 &
[2] 6504
$ sleep 100 &
[3] 6505
$ ps aux | grep sleep | grep -v grep
user1         6505   0.0  0.0  2432764    476 s002  S     8:26AM   0:00.00 sleep 100
user1         6504   0.0  0.0  2432764    476 s002  S     8:26AM   0:00.00 sleep 100
user1         6503   0.0  0.0  2432764    476 s002  S     8:26AM   0:00.00 sleep 100

3つのsleepプロセスが動いています。これを停止させるには、

$ killall -9 sleep
[1]   Killed: 9               sleep 100
[2]-  Killed: 9               sleep 100
[3]+  Killed: 9               sleep 100
$ ps aux | grep sleep | grep -v grep
(何も表示されない)

killallでは、基本的にプロセス名がマッチすればすべて停止させますが、 uオプションでユーザに属するプロセスに制限したり、tオプションでttyを制限したりできます。




記事一覧へ