KILL
Section: User Commands (1)
Updated: July 2014
Index
Return to Main Contents
名前
kill - プロセスを終了させる
書式
kill
[-signal|-s
signal|-p]
[-q
value]
[-a]
[--]
pid|name...
kill -l
[number]
| -L
説明
kill
コマンドは、指定した signal を指定したプロセスまたはプロセスグループへ送る。
シグナルが指定されない場合、TERMシグナルを送る。
このシグナルのデフォルトの挙動は、プロセスの終了である。
このシグナルは、Kill シグナル (数値 9) より優先して使うべきである。
なぜなら、プロセスは TERM シグナルに対するハンドラーを実装しており、
通常のやり方では、終了の前にクリーンアップのステップを実行するためである。
TERM シグナルを送った後にプロセスが終了しない場合、
KILL シグナルを使うことができる。
KILL シグナルはキャッチされないので、対象プロセスの終了前に
クリーンアップを実行する機会を与えない点に注意すること。
最近のシェルのほとんどには、組み込みの kill 機能があり、
ここで説明しているコマンドと同じような使い方をする。
--all,
--pid,
--queue
オプション、そしてコマンド名で PID を指定する方法はローカルな拡張である。
signal が 0 の場合、実際のシグナルは送られないが、
エラーチェックは実行される。
引き数
シグナルを送るプロセスのリストは、
名前と PID を混ぜることができる。
- pid
-
各
pid
は以下の 4 つのいずれかである:
-
- n
-
n
が 0 より大きい場合、PID
n
にシグナルが送られる。
- 0
-
現在のプロセスグループのすべてのプロセスにシグナルが
送られる。
- -1
-
PID が 1 より大きいすべてのプロセスにシグナルが送られる。
- -n
-
n
が 1 より大きい場合、プロセスグループ
n
のすべてのプロセスにシグナルが送られる。
シグナルを最初に指定した場合、または、この引き数の前に '--' オプションを指定した場合、
引き数を '-n' の形式で指定すると、プロセスグループを使うことを意味する。
そのようにしない場合、送るシグナルとして解釈される。
- name
-
この name を使って起動されたすべてのプロセスにシグナルが送られる。
オプション
- -s, --signal signal
-
送るシグナルを指定する。
シグナルは名前か、または番号で指定する。
- -l, --list [number]
-
シグナル名のリスト、または指定した数値を変換した名前を表示する。
シグナルは
/usr/:include/:linux/:signal.h
の中で定義されている。
- -L, --table
-
-l と同様であるが、シグナル名と対応する数値を表示する。
- -a, --all
-
デフォルトでは、コマンド名から PID への変換は
現在のプロセスと同じ UID を持つものに制限されているが、
その制限を外す。
- -p, --pid
-
指定したプロセスのプロセスID (PID) の表示のみをさせる。
何のシグナルも送らない。
- --verbose
-
kill でシグナルが送られる PID を表示する。
- -q, --queue value
-
kill(2)
ではなく
sigqueue(3)
を使う。
value
引き数は、シグナルとして送られる整数値である。
シグナルを受け取るプロセスが、
sigaction(2)
に対する
SA_SIGINFO
フラグを使ってシグナルに対するハンドラーを実装している場合、
siginfo_t
構造体の
si_sigval
フィールドを使ってデータを取得できる。
注意
マルチスレッドプロセスの 1 つのスレッドの TID (スレッド ID
gettid(2)
を参照) を
kill
の引き数として指定することができるにも関わらず、
シグナルはプロセス (つまり、スレッドグループ全体) に向けられる。
言い換えると、マルチスレッドプロセスの明示的に選択したスレッドには
シグナルを送ることはできない。
シグナルは、対象プロセスの中のシグナルをブロックしない
任意の選択されたスレッドに送られる。
より詳細は、
signal(7)
と
clone(2)
の
CLONE_THREAD
の説明を参照すること。
返り値
kill
には以下の返り値がある:
- 0
-
成功
- 1
-
失敗
- 64
-
部分的に成功 (2 個以上のプロセスが指定された場合)
関連項目
bash(1),
tcsh(1),
sigaction(2),
kill(2),
sigqueue(3),
signal(7)
著者
Salvatore Valente
Karel Zak
オリジナルバージョンは、BSD 4.4 から入手した。
入手方法
kill コマンドは、util-linux パッケージの一部であり、
Linux Kernel Archive
から入手できる。
Index
- 名前
-
- 書式
-
- 説明
-
- 引き数
-
- オプション
-
- 注意
-
- 返り値
-
- 関連項目
-
- 著者
-
- 入手方法
-
This document was created by
man2html,
using the manual pages.
Time: 12:49:37 GMT, August 02, 2019