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