コマンド
killall
コマンド名を指定して kill
以下は、BSD・Linux の killall の説明である。
オプション:
-l シグナル一覧を表示
-m コマンド名を正規表現で指定する
-s シグナルを送るプロセスを表示する。実際にはシグナルは送らない。
まず kterm をバックグラウンドで実行する。
kterm を kill したくなったが、ps でプロセス ID を調べるのが面倒である。そこで killall を使う。まずは -s オプションを付けて、どのプロセスにシグナルが送られるか確認する。
% killall -s kterm
kill -TERM 4985
今度は本当に kterm を kill する。
もし指定のコマンドに該当するものが複数個ある場合は、全てのプロセスにシグナルを送る。だから上の例を X 上の kterm から実行すると、全ての kterm が終了してしまう。
killall のオプションを複数指定するときは
などとせずに
としなくてはならない。
一方、Solaris の killall は、全プロセスを終了させるコマンドである。これは root 権限がないと実行できない。
とするだけで、daemon を含むほとんどのプロセスが終了してしまうので、BSD・Linux の killall に慣れている人は注意した方がよいだろう。