killall(1) プロセスを名前で指定して kill する

書式

killall [-e,--exact] [-g,--process-group] [-i,--interactive] [-q,--quiet] [-v,--verbose] [-w,--wait] [-V,--version] [-s,--signal signal] [--] name ...
killall -l
killall -V,--version

説明

killall は指定したコマンドを実行している全てのプロセスにシグナルを送る。 シグナルの指定がなければ SIGTERM を送る。

シグナルは名前 (例: -HUP) ででも番号 (例: -1) ででも指定できる。

コマンド名がスラッシュ (/) を含む場合は、 その指定したファイルを実行しているプロセスが (実行時の名前が違っていても) 選択される。

指定したコマンドのプロセスがひとつも kill されなければ killall は 0 以外のリターンコードを返す。 各コマンドに対応するプロセスがひとつでも kill されれば killall はゼロを返す。

killall プロセスは、決して自分自身を kill しない (しかし他の killall プロセスを kill するかもしれない)。

オプション

-e, --exact
とても長い名前に対して完全一致を要求する。 コマンド名が 15 文字よりも長いと、そのフルネームが利用できない (スワップアウトされている) ことがあるかもしれない。 この場合 killall は先頭 15 文字まで一致するもの全てを kill する . -e オプションを付けると、そのような項目は黙ってスキップされる。 -e といっしょに -v オプションが指定されていると、 killall はスキップされた各エントリを表示する。
-g, --process-group
指定したプロセスが所属しているプロセスグループにシグナルを送る。 そのプロセスグループに複数のプロセスが参加している場合でも、 kill シグナルはグループあたり 1 つだけ送られる。
-i, --interactive
kill する前に対話的に確認を求める。
-l, --list
知っているシグナル名をすべて表示する。
-q, --quiet
kill するプロセスがなかった場合も表示を行わない。
-v, --verbose
シグナルの送信に成功したら報告する。
-V, --version
バージョン情報を表示する。
-w, --wait
kill されたプロセスが終了するのを待つ。 killall は kill されたプロセスが残っているかどうかを 1 秒に一回チェックし、 すべてなくなるまでリターンしない。 シグナルが無視されたり、効果がなかったり、 プロセスがゾンビ状態に留まってしまったりした場合には、 killall は永遠に待ちつづけることになるかもしれない。

ファイル

/proc   proc ファイルシステムの場所

既知のバグ

ファイルによる kill は、 実行ファイルがその実行中にオープン状態に置かれる場合にのみ有効である。 すなわち impure な実行ファイルをこの方法で選択することはできない。

Linux 以外のシステムでは killall name が望んだ動作をするとは限らないことに注意せよ。 特権ユーザでは特に注意すること。

killall -w は、スキャンとスキャンの間にプロセスが消え、 同じ PID の 別プロセスで置き換えられていても、 これを検知できない。

著者

Werner Almesberger <[email protected]> が psmisc の オリジナルのバージョンを書いた。 バージョン 20 からは、Craig Small <[email protected]> が 責任者である。