kill#
kill
コマンドは、Unix系のオペレーティングシステムで使用されるコマンドの一つで、プロセスにシグナルを送信するためのものです。このコマンドの名前から「殺す」というイメージを持つかもしれませんが、実際にはさまざまなシグナルを送ることができます。kill
コマンドを使用してプロセスを終了させることが最も一般的ですが、他のシグナルを送ることでプロセスの動作を制御することもできます。
基本的な使い方は以下の通りです:
-
プロセスに対してデフォルトのシグナル(TERM)を送信する場合:
-
特定のシグナルを送信する場合:
例えば、プロセスIDが 1234
のプロセスを終了させたい場合は、以下のコマンドを使用します:
もし、強制的にプロセスを終了させたい場合(SIGKILLシグナルを送信する場合)は、以下のようにします:
主なシグナルとその説明は以下の通りです:
- SIGTERM (15): プロセスに終了を要求する。これがデフォルトのシグナルです。
- SIGKILL (9): プロセスを強制的に終了させる。プロセスはこのシグナルを無視することはできません。
- SIGSTOP (17,19,23): プロセスを一時停止させる。
- SIGCONT (18,20,24): 一時停止されたプロセスを再開させる。
注意点として、kill
コマンドはプロセスにシグナルを送信するだけで、プロセスがそのシグナルを受け取ったときにどのような動作をするかは、プロセスの実装に依存します。例えば、SIGTERMを受け取ったプロセスが、それを無視して継続することも可能です。このような場合、SIGKILLを使用してプロセスを強制終了させることが考えられます。