名前


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> が 責任者である。

関連項目


kill(1), fuser(1), pgrep(1), pidof(1), ps(1), kill(2)

openSUSE Logo

コンテンツ