名前
killall - プロセスを名前で指定して 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 <Werner.Almesberger@epfl.ch> が psmisc の オリジナルのバージョンを書いた。 バージョン 20 からは、Craig Small <csmall@small.dropbear.id.au> が 責任者である。