GNU/Linux >> Linux の 問題 >  >> Linux

Linux での kill コマンドの例

さまざまなコマンドを使用して、プロセスを終了または「強制終了」するシグナルをプロセスに送信します。これは、プロセスが応答しなくなった (ハングした) 場合、システムが不安定になった場合、または変更しようとしているファイルの制御を放棄できなかった場合に必要です。

pid 番号を使用してプロセスを終了する

プロセス テーブルで kill コマンドを使用すると、プロセスを終了できます。 kill の後に PID を入力すると、特定のプロセスを終了できます。ただし、プロセス テーブルには、自分のものではないプロセスが表示される場合があります。ユーザーは、自分が所有するプロセスでのみ kill コマンドを使用できます。 root として、任意のプロセスを強制終了できます。

キルシグナル

プロセスを強制終了するには多くの方法があり、それぞれがシグナルにマッピングされています。このシグナルは、プロセスを強制終了する方法を決定します。特定の状況では、一部のシグナルが他のシグナルよりも適切です。たとえば、プロセスを正常に終了して、最後のアクティビティをクリーンアップする時間を与えたい場合があります。ただし、一部のプロセスはこのシグナルを無視するか、妥当な時間内に終了できません。そのためには、より積極的なシグナルを発行する必要があるかもしれません.

多くの異なるキルシグナルがあります。各信号には、名前と 1 つ以上の対応する数値があります。いずれかを kill コマンドで使用できます。最も一般的なシグナルのいくつかを以下に説明します:

1. SIGINT (2)
– 端末からプロセスを中断します。
– キャッチまたは無視できます。
– Ctrl+C を押すのと同じ

2. SIGKILL (9)
– プロセスをすぐに強制終了します。
– キャッチまたは無視できません。
– 最後の手段。

3. SIGTERM (15)
– プロセスを終了します。
– キャッチまたは無視できます。
– 端末ではなくプログラムから送信されます。

4. SIGSTOP (17, 19, 23)
– プロセスを一時停止します。
– キャッチまたは無視できません。
– 端末ではなくプログラムから送信されます。

5. SIGSTP (18, 20, 24)
– 端末からのプロセスを一時停止します。
– キャッチまたは無視できます。
– Ctrl+Z を押すのと同じです。

キルシグナルのデモ

以下は、kill シグナルを実装するいくつかの例です。 ID 921 のプロセスを正常に終了するには:

$ kill 15 921

それができない場合は、プロセスをすぐに強制終了します:

$ kill 9 921

または、プロセスを完全に削除するのではなく一時停止するには:

$ kill 17 921

kill コマンドの例

1. シグナルのリストを取得するには:

# kill -l 
 1) SIGHUP	 2) SIGINT	     3) SIGQUIT	 4) SIGILL
 5) SIGTRAP	 6) SIGABRT	     7) SIGEMT	 8) SIGFPE
 9) SIGKILL	10) SIGBUS	    11) SIGSEGV	12) SIGSYS
13) SIGPIPE	14) SIGALRM	    15) SIGTERM	16) SIGURG
17) SIGSTOP	18) SIGTSTP	    19) SIGCONT	20) SIGCHLD
21) SIGTTIN	22) SIGTTOU	    23) SIGIO	24) SIGXCPU
25) SIGXFSZ	26) SIGVTALRM	27) SIGPROF	28) SIGWINCH
29) SIGINFO	30) SIGUSR1	    31) SIGUSR2

2. 特定のシグナルを送信するには:

# kill -s 9 

3. kill のプロセスのリストを指定するには:

# kill 1234 2345 3456 

4. デフォルトの SIGTERM (終了) シグナルを使用してプログラムを終了します。

# kill process_id

5. バックグラウンド ジョブを終了します。

# kill %job_id

6. SIGHUP (ハングアップ) シグナルを使用してプログラムを終了します。多くのデーモンは、終了する代わりにリロードします:

# kill -1|HUP process_id

7. SIGINT (割り込み) シグナルを使用してプログラムを終了します。これは通常、ユーザーが「Ctrl + C」を押すことによって開始されます:

# kill -2|INT process_id

8. オペレーティング システムに信号を送り、プログラムを直ちに終了します (信号を取得する機会がありません):

# kill -9|KILL process_id

9. SIGCONT (「続行」) シグナルが受信されるまでプログラムを一時停止するようにオペレーティング システムに通知します。

# kill -17|STOP process_id

10. 指定された GID (グループ ID) を持つすべてのプロセスに `SIGUSR1` シグナルを送信します。

# kill -SIGUSR1 -group_id


Linux
  1. Linux での rm コマンドの例

  2. Linux での kill コマンドの例

  3. Linux での ps コマンドの例

  1. Linux での ac コマンドの例

  2. Linux での df コマンドの例

  3. Linux での du コマンドの例

  1. コマンドを使用してLinuxでプロセスを強制終了する方法は?

  2. 7 Linux df コマンドの例

  3. 8 Linux TR コマンドの例