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 <
[email protected]> が psmisc の
オリジナルのバージョンを書いた。
バージョン 20
からは、Craig Small
<
[email protected]> が
責任者である。
kill(1),
fuser(1),
pgrep(1),
pidof(1),
ps(1),
kill(2)