名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 出力 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 注意事項
kill ユーティリティは、各 pid オペランドによって指定されたプロセス (1 つまたは複数) にシグナルを送信します。
pid オペランドのそれぞれについて、kill ユーティリティは以下の引数で呼び出された kill(2) 関数と等価のアクションを実行します。
pid オペランドの値は、pid 引数として使用されます。
sig 引数は、-s オプション、-signal_name オプション、または -signal_number オプションで指定された値です。あるいは、これらのオプションが何も指定されていない場合は、SIGTERM
で指定された値です。
シグナルが送信されるプロセスは、ユーザーがスーパーユーザーでない限り 現在のユーザーに属していなければなりません。
kill のシェル組み込みバージョンの説明については、「注意事項」を参照してください。
以下のオプションを使用できます。
(文字エル) 。オペランドが何もない場合、当該システムでサポートされている signal_name のすべての値を書き出します。exit_status オペランドが指定され、それがシェル特殊パラメータ値 ? およびシグナルが終了したプロセスに対応する wait の場合は、そのプロセスを終了するシグナルに対応する signal_name が書き出されます。 exit_status オペランドが指定され、それがシグナル番号を示す符号なしの 10 進整数値なら、そのシグナルに対応する signal_name が書き出されます。それ以外の場合、結果は不定です。
<signal.h> に定義されている記号名の 1 つを使って、送信するシグナルを指定します。 signal_name の値は、 SIG 接頭辞なしで、大文字/小文字を区別しない方法で認識されます。 さらに記号名 0 は、ゼロのシグナル値を表すものと認識されます。 SIGTERM
の代わりに、対応するシグナルが送信されます。
-s signal_name と同じです。
SIGTERM
の代わりに使用するシグナルを表す、負でない 10 進整数 signal_number を指定します。kill(2) への有効な呼び出しにおける sig 引数と同じです。
次のオペランドを指定できます。
シグナルが送信されるプロセスまたはプロセスグループを指定する 10 進の整数。 pid オペランドの正の値、負の値、またはゼロで選択されたプロセスは、 kill 関数で説明されているものと同じです。プロセス番号 0 が指定されると、プロセスグループ内のすべての プロセスにシグナルが送信されます。最初の pid オペランドに負の値を指定する場合、 オプションとして解釈されないように、前に - - を付加しなければなりません。
シグナルが送信されるバックグラウンドプロセスグループを識別する ジョブ制御のジョブ ID 。ジョブ制御ジョブ ID 表記が適用できるのは、現在のシェル実行環境で kill を呼び出すときだけです。
注:pid のジョブ制御ジョブ ID タイプが使用できるのは、ジョブ制御オプションを サポートしているシステムだけです。
シグナル番号を指定する 10 進の整数または シグナルが終了したプロセスの終了ステータス。
プロセス番号は ps(1) を使って知ることができます。
kill が独自のユーティリティ実行環境で動作するときは、ジョブ制御ジョブ ID 表記は、前述のような働きをする必要はありません。以下の例の kill はどちらも異なる環境で動作し、 各ジョブ番号については関連性はありません。
example% nohup kill %1 & example% system( "kill %1"); |
-l オプションが指定されなければ、標準出力は使用されません。
-l オプションが指定されると、 各シグナルの記号名が以下のフォーマットで書き出されます。
"%s%c", <signal_name>, <separator>
この <signal_name> は、 SIG 接頭辞を付けずに大文字で指定します。 <separator> は復帰改行文字 (NEWLINE) または空白文字です。最後に書き出されるシグナルの場合、 <separator> は復帰改行文字になります。
-l オプションと exit_status オペランドの両方が指定されると、 対応するシグナルの記号名が以下のフォーマットで書き出されます。
"%s\n", <signal_name> |
送信側プロセスが指定されたプロセスへのシグナル送信を許可されていて、 指定されたプロセスが存在するという条件で、以下のコマンドはどれも、100 という ID を持つプロセスと、165 というプロセスグループ ID を持つすべてのプロセスに SIGKILL シグナルを送信します。
example% kill -9 100 -165 example% kill -s kill 100 -165 example% kill -s KILL 100 -165 |
シグナル番号またはプロセスグループを指定する最初の負の引数のあいまいさを 避けるため、最初の負の数はいつもシグナルとします。そのため、プロセスグループ (たとえば 123) にデフォルトシグナルを送信する場合、アプリケーションは以下のようなコマンドを使用しなければなりません。
example% kill -TERM -123 example% kill -- -123 |
kill の実行に影響を与える環境変数 LC_CTYPE、 LC_MESSAGES、 NLSPATH についての詳細は、 environ(5) を参照してください。
以下の終了ステータスが返されます。
各 pid オペランドに対して一致するプロセスが 1 つ以上見つかり、さらに 1 つ以上のプロセスに対して指定されたシグナルが処理された。
エラーが発生した
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
使用条件 | SUNWcsu |
CSI | 対応済み |
csh(1), jobs(1), ksh(1), ps(1), sh(1), shell_builtins(1), wait(1), kill(2), signal(3C), signal(3HEAD), attributes(5), environ(5)
sh には kill コマンドに、 jobid でプロセスを識別する機能を追加した、 組み込みコマンドが用意されています。 sh の構文を以下に示します。
kill [ -sig ] [ pid ] [ %job ]... kill -l |
C シェルと csh にも kill の組み込みコマンドが用意されています。構文は以下のとおりです。
kill [-sig][pid][%job]... kill -l |
csh における kill の組み込みコマンドは TERM
(終了) シグナル (デフォルトの場合) または指定されたシグナルを、指定されたプロセス ID、指定されたジョブ、または現在のジョブへ送信します。 シグナルは番号または名前で指定します。 シグナルを送るプロセスまたはジョプにデフォルトはなく、 kill だけを入力しても現在のジョブにはシグナルを送信しません。 送信中のシグナルが TERM (終了) または HUP (ハングアップ) の場合、そのジョブまたはプロセスには CONT (継続) シグナルも送られます。
送信可能なシグナル名の一覧を表示します。
ksh における kill の構文は以下の通りです。
kill [-sig][pid][%job]... kill -l |
ksh における kill は TERM
(終了) シグナルまたは指定されたシグナルのいずれかを、 指定されたジョブまたはプロセスに送信します。シグナルは、 番号または名前 (signal(3HEAD) の場合と同様に “SIG” という接頭辞を取り除いたもの) で指定します。 送信するシグナルが TERM (終了) または HUP (ハングアップ) の場合、停止中のジョブまたはプロセスには CONT (継続) シグナルを送信します。引数 job には、活動中のジョブの 1 つのメンバーではないプロセスのプロセス ID を指定することもできます。第 2 の形式の kill -l は、シグナル番号とシグナル名をリスト表示します。
名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 出力 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 注意事項