kill - プロセスまたはジョブを終了させる、またはシグナルを送る
形式
- kill -l [exit_status]
- kill [-s signal_name] [
- kill -K [pid...][ job-identifier...]
- kill [-signal_name] [pid ...] [job-identifier ...]
- kill [-signal_number] [pid ...] [job-identifier ...]
tcsh シェル:
- kill [-signal] %job|pid ...
- kill-K %job|pid...
- kill-l
説明
kill は、プロセスにシグナルを送ることによって、そのプロセスを終了させます。 デフォルトのシグナルは SIGTERM です。
kill は、組み込みシェル・コマンドです。
tcsh シェルでは、kill [-signal] %job|pid … は、指定された signal (何も指定されていない場合 には、TERM (終了) シグナル) を指定されたジョブまたはプロセスに送ります。job は番号、ストリング、''、%、+ または - で表すことができます。シグナルは番号か名前で指定します。 signal_name は、大文字で入力してください。例えば、SIGTERM シグナルを送りたい場合は、kill -SIGTERM pid ではなく kill -TERM pid を入力します。
tcsh kill コマンドを使用するときには、signal_name の最初の 3 文字 (SIG) を使用しないでください。
デフォルトの job はありま せん。 kill だけを指定してもシグナルは現行ジョブに送られません。 送るシグナルが TERM または HUP (ハングアップ) である場合、ジョブ またはプロセスには CONT (継続) シグナルも送られます。kill -l はシグナル名をリストします。tcsh: C シェルの起動を参照してください。
オプションで説明されている signal_numbers およ び signal_names も、tcsh kill コマンドで使用さ れます。
オプション
- -K
- 前の KILL シグナルの結果として終了しなかったプロセスまたはジョブの終了を 強制するために superkill シグナルを送信します。 プロセスは、再試行不能の異常終了で終了します。 superkill シグナルを送信する前に、通常の KILL シグナルを最低 3 秒間送信するようにしてください。 superkill は、プロセス・グループ (0 または負の数値の pid を使用して) または すべてのプロセス (-1 の pid を使用して) に対して送信することはできません。
- -l
- サポートされているすべてのシグナルの名前を表示します。exit_status が指定され、それが終了したプロセスの終了コードである場合には 、kill はそのプロセスの終了シグナルを表示します。
- -s signal_name
- SIGTERM シグナルの代わりに、シグナル signal_name をプロセスに送ります。kill コマンドを使用するときは
、signal_name の最初の 3 文字 (SIG) を使用しないで
ください。
signal_name は、大文字で入力してください。例えば
、SIGABRT シグナルを送りたい場合は、以下のように入力します。
kill -s ABRT pid
- -signal_name
- (廃止。) -s signal_name と同じです。
- -signal_number
- (廃止。) SIGTERM の代わりに、プロセス
へ送信されるシグナルを表す正の整数です。
signal_number は以下のシグナル名を表します。
0
- SIGNULL
1
- SIGHUP
2
- SIGINT
3
- SIGQUIT
4
- SIGILL
5
- SIGPOLL
6
- SIGABRT
7
- SIGSTOP
8
- SIGFPE
9
- SIGKILL
10
- SIGBUS
11
- SIGSEGV
12
- SIGSYS
13
- SIGPIPE
14
- SIGALRM
15
- SIGTERM
16
- SIGUSR1
17
- SIGUSR2
18
- SIGABND
19
- SIGCONT
20
- SIGCHLD
21
- SIGTTIN
22
- SIGTTOU
23
- SIGIO
24
- SIGQUIT
25
- SIGTSTP
26
- SIGTRAP
27
- SIGIOERR
28
- SIGWINCH
29
- SIGXCPU
30
- SIGXFSZ
31
- SIGVTALRM
32
- SIGPROF
37
- SIGTRACE
38
- SIGDCE
39
- SIGDUMP
3
と6
) は 、z/OS カーネルによって使用される SIGQUIT と SIGABRT の 値とは異なりますが、他の UNIX プラットフォームとの互換性のためにサポートされています。(kill コマンドは、SIGQUIT または SIGABRT をプロセスに送信します。) この注は、tcsh シェルでの kill にも当てはまります。
オペランド
- job-identifier
- プロセスが & で開始されたときにシェルによって報告されるジョブ ID を指定します。これは、プロセスを識別する 1 つの方法です。これは
、jobs コマンドによっても報告されます。kill コマンドでジョブ ID を使用する
ときには、そのジョブ ID の前にパーセント (%) 記号を付ける必要があります。例えば、ジョブ ID が 2 の場合は、kill コマンドを以下のように入力します。
kill -s KILL %2
- pid
- プロセスが & で開始されたときにシェルによって報告されるプロセス ID を指定します。これは、ps コマンドを使用して知ることもでき
ます。pid 引数は、8 進数、10 進数、または 16 進数で指定することができます。プロセス ID は 10 進数で報告されます。kill は、負の値の pid を
サポートします。pid が -1 以外の負の値である場合は、プロセス・グループ ID が pid の絶対値に等しい すべてのプロセスにシグナルが送られます。負の値の pid は、以下のように指定します。
ここで、nn はプロセス・グループ ID で、2 桁から 7 桁の範囲の 数字 (nn から nnnnnnn) です。kill –KILL –– –nn
この形式では、プロセス・グループ ID を指定するため に、–nn の前にkill –s KILL –– –9812753
––
を入れる必要があります。pid が
0
の場合は、起動側のプロセス・グループ内のすべてのプロセスにシグナルが送られます。
強制終了させるプロセスは、現行ユーザーに属していなければなりません。ただし、スーパーユーザーはすべてのプロセスを強制終了させることができます。
ローカライズ
kill は、以下のローカライズ環境変数を使用します。
- LANG
- LC_ALL
- LC_CTYPE
- LC_MESSAGES
- NLSPATH
詳しくは、ローカライズを参照してください。
使用上の注意
- z/OS® UNIX のシグナル通知の制約事項については、「z/OS UNIX System Services プログラミング: アセンブラー呼び出し可能サービス 解説書」の『環境制約事項』のセクションに説明があります。
終了値
0
- 正常終了。
1
- 以下のいずれかの理由による失敗:
- ジョブまたはプロセスは存在しなかった。
- コマンド行構文にエラーがあった。
2
- 以下のいずれかの理由による失敗:
- 2 つのジョブまたはプロセスは存在しなかった。
- コマンド行の引数が正しくない。
- シグナルが正しくない。
>2
- kill できなかったプロセスの番号を知らせます。
メッセージ
以下の
エラー・メッセージが出される可能性があります。
- job-identifier is not a job
- 正しくない ID を指定しました。
- signal_name is not a valid signal
- kill に対して整数でないシグナルを指定したか、または有効なシグナル番号の範囲外のシグナルを指定しました。
移植性
POSIX.2 , X/Open 移植性ガイド.
関連情報
jobs、ps、sh、tcsh