本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 1 : ユーザーコマンド (A~M) > k

kill(1)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

kill ― シグナルをプロセスに送信、プロセス強制終了

構文

kill [-s signame] pid ...

kill [-s signum] pid ...

kill -l

旧バージョン:

kill -signame pid ...

kill -signum pid ...

説明

kill コマンドは、シグナルを pid プロセス識別子によって指定される各プロセスに送信します。 デフォルトのシグナルは SIGTERM で、これは通常、シグナルをトラップしない、または無視するプロセスを強制終了させます。

オプション

kill が受け付けるオプションは次のとおりです。

-l    (エル) 

インプリメンテーションによってサポートされる signame の値をすべてリストします。 このオプションではシグナルは送信されません。 シグナルのシンボル名 (SIG プレフィックスなし) は、スペースと改行文字で区切って、標準出力に書き出されます。

-s signame 

指定したシグナル名を送信します。 デフォルトは SIGTERM で、シグナル番号は 15 です。 signame は、大文字でも小文字でも指定でき、 SIG プリフィックスを付けても付けなくてもかまいません。 これらの値は、 -l オプションを使って取得することができます。 シンボル名の SIGNULL は、シグナル値ゼロを表します。 「シグナル名とシグナル番号」を参照してください。

-s signum 

指定した 10 進のシグナル番号を送信します。 デフォルトは 15 で、 SIGTERM です。 「シグナル名とシグナル番号」を参照してください。

-signame 

-s signame と等価です。(廃止予定)

-signum 

-s signum と等価です。(廃止予定)

オペランド

pid はプロセス識別子で、 次のような値をもつ符号なし整数または負の整数です。

> 0 

プロセス番号。

= 0 

プロセスグループの ID が送信元のプロセスグループ ID と一致するような、すべてのプロセス (特殊なシステムプロセス以外)。

=-1 

ユーザーが適切な特権をもつ場合は、すべてのプロセス (特殊なシステムプロセス以外)。 もたない場合は、 実ユーザー ID または実効ユーザー ID が送信元プロセスのユーザー ID と一致するような、すべてのプロセス (特殊なシステムプロセス以外)。

<-1 

プロセスグループの ID が pid の絶対値と等しく、 その実ユーザー ID または実効ユーザー ID が送信元プロセスのユーザー と一致するような、すべてのプロセス (特殊なシステムプロセス以外)。

プロセス番号は、 ps コマンド ( ps(1)を参照) および一部のシェルで使用可能な jobs 組み込みコマンドを使って探すことができます。

シグナル名とシグナル番号

次の表に、ターミナルで使用できる一般的なシグナルをいくつか示します。 完全なリストと詳しい説明については、 ヘッダーファイルの <signal.h> およびマニュアルエントリーの signal(5) を参照してください。

signumsigname名称説明
0SIGNULLヌルpid へのアクセスをチェック
1SIGHUPハングアップ終了、トラップ可能
2SIGINT割り込み終了、トラップ可能
3SIGQUIT停止コアダンプを出力して終了、トラップ可能
9SIGKILL強制終了強制終了、トラップ不能
15SIGTERM終了終了、トラップ可能
24SIGSTOPストッププロセスの休止、トラップ不能
25SIGTSTPターミナルストッププロセスの休止、トラップ可能
26SIGCONT継続ストップしたプロセスの実行

SIGNULL (0) は ヌルシグナルで、 エラーチェックを起動しますが、シグナルは実際に送信しません。 pid が存在するかどうか、またはその妥当性をテストするために使用できます。

SIGTERM (15) は (デフォルトの) 終了シグナルで、 受信側のプロセスがトラップすることによって、 受信側は確実にシャットダウンを実行するか、 シグナルを完全に無視することができます。 操作を確実にするには、良い方法です。

SIGKILL (9) は 強制終了シグナルで、 ただちにプロセスを強制的に終了します。 SIGKILL はトラップや無視ができないため、 SIGTERM に対して応答しないプロセスを終了させる際に有効です。

ユーザーが適切な特権をもっていない限り、受信側のプロセスは送信側のプロセスのユーザーに所属していなければなりません。

唯一の特例として、継続シグナルの SIGCONT は、送信側のプロセスと同じセッションのメンバーであればどのプロセスにも送信できます。

戻り値

終了すると、 kill は以下の値のいずれかで戻ります。

 0 

一致するプロセスが pid オペランドごとに少なくとも 1 つみつかり、 指定シグナルは少なくとも一致するプロセス 1 つに対して正常に処理されました。

>0 

エラーが発生しました。

以下のコマンド、

kill 6135 

プロセス番号 6135 にシグナルを送信し強制終了させます。 これにより、プロセスは適切に終了することができます (テンポラリファイルの削除など)。

以下の等価コマンド、

kill -s SIGKILL 6135 
kill -s KILL 6135 
kill -s 9 6135 
kill -SIGKILL 6135 
kill -KILL 6135 
kill -9 6135 

は、 SIGKILL シグナルをプロセスに送信することで、プロセス番号 6135 を強制終了させます。 この行為は、プロセスを即座に削除するようカーネルに指示します。

警告

プロセスは、スケジューリングされないように (I/O などの) 処理中にハングすると、 実行を許可されるときまで終了できません。 したがって、そのようなプロセスは 強制終了の後でも消えないことがあります。 同様に、現存しないプロセス ( ps(1) を参照) はすでに実行を終了しましたが、 親が現存しないプロセスを処置するまでシステムに残ります ( wait(2) を参照)。 kill を使用して、現存しないプロセスにシグナルを送信しても効果はありません。

非 HP-UX インプリメンテーションによっては、 シェルの組み込みコマンドとしてのみ kill を用意しているものもあります。

制約

本書では、外部コマンドの /usr/bin/kill および POSIX シェル ( sh-posix(1)を参照) の kill 組み込みコマンドについて詳しく説明します。 C やコーン (それぞれ csh(1)ksh(1) を参照) など他のシェルにも、 組み込みコマンドとして kill が用意されています。 構文や出力はこれらの組み込みコマンドと異なることもあります。

参照

csh(1), ksh(1), ps(1), sh(1), sh-posix(1), kill(2), wait(2), signal(5)

標準準拠

kill: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.