kill

プロセスを終了させる

kill - プロセスを終了させる
kill [ -s signal | -p ] [ -a ] [ -- ] pid ... kill -l [ signal ]
kill コマンドは、指定したシグナルを指定したプロセスまたはプロセスグループへ送る。 シグナルが指定されない場合、TERMシグナルを送る。 TERMシグナルは、このシグナルをキャッチしないプロセスを終了させる。 このシグナルをキャッチしてしまうプロセスを終了させるためには、 KILL (9) シグナルを使う必要がある。 最近のシェルのほとんどには、組み込みのkill機能があり、 ここで説明しているコマンドと同じような使い方をする。 `-a' オプションと `-p' オプション、 そしてコマンド名で PID を指定する方法はローカルな拡張である。
pid ...
kill がシグナルを送るプロセスのリストを指定する。 それぞれの pid に対して、指定方法は次の 5 通り。

n
>0の場合は、pid n のプロセスへシグナルを送る。
0
現在のプロセスグループの全てのプロセスにシグナルを送る。
-1
PID が 1 より大きい全てのプロセスにシグナルを送る。
- n
-n (n>1)の場合は、プロセスグループ n に属する全プロセスへシグナルを送る。 `-n' の形の引数を場合は、シグナルを最初に指定するか、 もしくは引数を `--' オプションの後に指定しなければならない。 そうしないと、シグナルの指定として解釈されてしまう。
commandname
この名前で起動された全てのプロセスにシグナルを送る。
-s signal
送るシグナルを指定する。 シグナルは名前か、または番号で指定する。
-l
シグナル名のリストを表示する。 /usr/include/linux/signal.h の中で定義されている。
-a
デフォルトでは、コマンド名から PID への変換は 現在のプロセスと同じ UID を持つものに制限されているが、 その制限を外す。
-p
kill に、指定したプロセスのプロセスID (pid) の表示のみをさせる。何のシグナルも送らない。
bash (1), tcsh (1), kill (2), sigvec (2), signal (7)
BSD 4.4から入手。 Salvatore Valente <svalente@mit.edu>が、 プロセス名をプロセスIDに変換する機能を追加した。