Up: Process control


23.1 kill: プロセスにシグナルを送る

killコマンドは,プロセスにシグナルを送り終了させたり,それ以 外では,シグナルを受け取らせて何らかの動作をさせます.また,シグナルの 情報をリストアップします.概要です.

     kill [-s signal | --signal signal | -signal] pid...
     kill [-l | --list | -t | --table] [signal]...

killコマンドの最初の形式は,すべてのpid引数にシグナル を送ります.何も指定されていない場合のデフォルトのシグナルは ‘TERM’です.特別なシグナル番号‘0’で有効なシグナルを表示し, さらに,pid引数がシグナルを送ることが可能なプロセスを指定してい るかどうかを調査するために使用することが可能です.

pidが正の場合,シグナルはプロセスid pidとともにプロセスに 送られます.pidがゼロの場合,現在のプロセスのプロセスグループの すべてのプロセスにシグナルが送られます.pidが‘-1’の場合,ユー ザがシグナルを送る許可を持つすべてのプロセスにシグナルが送られます. pidが‘-1’より小さい場合,pidの絶対値と同じプロセスグ ループのすべてのプロセスにシグナルが送られます.

pidが負の場合,システムプロセスのシステムに依存するセットは,シ グナルを送るプロセスのリストから除外されます.

負のPID引数が最初のものとして設計されている場合,シグナルも同様 に指定する必要があること,または最初のpid引数の前に`–'が使用さ れていると解釈する必要があることのいずれかになります.以下の三つのコマ ンドは等価です.

     kill -15 -1
     kill -TERM -1
     kill -- -1

killコマンドの最初の形式は,すべてのpid引数が少なくと も一つのシグナルが送られたプロセスを指定している場合,コマンドは成功し ます.

killコマンドの二番目の形式では,シグナルの情報がリストアップ されます.-l--listオプション,または-t--tableオプションのどちらかを指定する必要があります. signal引数を用いていないと,サポートされるすべてのシグナルがリス トアップされます.-l--listの出力は,一行単位のシグ ナル名のリストです.signalに名前がある場合,シグナル番号が代わり に出力されます.-t--tableの出力は,シグナル番号, 名前,そしてその説明の表です.このkillコマンドの形式では,す べてのsignal引数が有効で,出力エラーが無い場合は成功します.

killコマンドは,--help--versionオプショ ンもサポートしています.See Common options.

signalは,‘HUP’のようなシグナル名,そして‘1’のようなシ グナル番号,そしてシグナルで終了したときの終了ステータスのいずれでもか まいません.シグナル名は,標準的な形式,または‘SIG’が前置されてい るもので渡すことが可能です.大文字小文字は無視しますが, -signal オプションでは小文字のオプション文字では不明瞭 になるのを避けるため,大文字を使用する必要があります.以下のシグナル名 と番号は,すべてのPOSIX互換システムでサポートされています.

HUP
1. ハングアップ.
INT
2. 端末割り込み.
QUIT
3. 端末終了.
ABRT
6. プロセスの異常終了.
KILL
9. キル(キャッチも無視も不可能).
ALRM
14. 目覚し時計.
TERM
15. 終了.

その他のサポートされているシグナル名には,システムに依存した対応番号が あります.POSIX 1003.1-2001に準拠しているすべてのシステムで は,以下のシグナルもサポートしています.

BUS
メモリオブジェクトの未定義の場所のアクセス.
CHLD
子プロセスの終了,停止,または継続.
CONT
停止されている場合,継続した実行.
FPE
間違っている算術処理.
ILL
不正な命令.
PIPE
誰も読みこまないパイプへの書き込み.
SEGV
無効なメモリ参照.
STOP
実行しているものの停止(キャッチも無視も不可能).
TSTP
端末の停止.
TTIN
バックグラウンドプロセスへの読み込みテスト.
TTOU
バックグランドプロセスへの書き込みテスト.
URG
ソケットへの高帯域データの利用可能.
USR1
ユーザ定義シグナル1.
USR2
ユーザ定義シグナル1.

XSIの拡張をサポートしているPOSIX 1003.1-2001システ ムでは,以下のシグナルもサポートしています.

POLL
イベントのポーリング.
PROF
タイムアウトのポーリング.
SYS
間違ったシステムコール.
TRAP
トラップの追跡/ブレークポイント.
VTALRM
仮想タイマーのタイムアウト.
XCPU
CPU時間の制限の超過.
XFSZ
ファイルサイズ制限の超過.

XRTの拡張をサポートしているPOSIX 1003.1-2001システ ムでは,,少なくとも‘RTMIN’,‘RTMIN+1’,..., ‘RTMAX-1’,‘RTMAX’といった八個のリアルタイムシグナルもサポー トしています.