Skip to content

kill#

kill コマンドは、Unix系のオペレーティングシステムで使用されるコマンドの一つで、プロセスにシグナルを送信するためのものです。このコマンドの名前から「殺す」というイメージを持つかもしれませんが、実際にはさまざまなシグナルを送ることができます。kill コマンドを使用してプロセスを終了させることが最も一般的ですが、他のシグナルを送ることでプロセスの動作を制御することもできます。

基本的な使い方は以下の通りです:

  1. プロセスに対してデフォルトのシグナル(TERM)を送信する場合:

    kill [プロセスID]
    

  2. 特定のシグナルを送信する場合:

    kill -[シグナル番号 or シグナル名] [プロセスID]
    

例えば、プロセスIDが 1234 のプロセスを終了させたい場合は、以下のコマンドを使用します:

kill 1234

もし、強制的にプロセスを終了させたい場合(SIGKILLシグナルを送信する場合)は、以下のようにします:

kill -9 1234

主なシグナルとその説明は以下の通りです:

  • SIGTERM (15): プロセスに終了を要求する。これがデフォルトのシグナルです。
  • SIGKILL (9): プロセスを強制的に終了させる。プロセスはこのシグナルを無視することはできません。
  • SIGSTOP (17,19,23): プロセスを一時停止させる。
  • SIGCONT (18,20,24): 一時停止されたプロセスを再開させる。

注意点として、kill コマンドはプロセスにシグナルを送信するだけで、プロセスがそのシグナルを受け取ったときにどのような動作をするかは、プロセスの実装に依存します。例えば、SIGTERMを受け取ったプロセスが、それを無視して継続することも可能です。このような場合、SIGKILLを使用してプロセスを強制終了させることが考えられます。