Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】kill()関数の使い方

kill関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

kill関数は、指定されたプロセスに対してシグナルを送信する関数です。この関数は、主にUNIX系のオペレーティングシステムで利用される kill(2) システムコールに対応しており、実行中のプロセスに特定の指示を送る際に使用されます。例えば、プロセスを優雅に終了させたり、強制的に停止させたり、設定を再読み込みさせたりするなど、さまざまな操作をシグナルによって実行できます。

この関数は、一つ以上の引数を取ります。最初の引数には、送信したいシグナルを指定します。シグナルは、TERM や KILL のようなシグナル名(文字列)または 9 のようなシグナル番号(整数)で指定可能です。続く引数には、シグナルを送信したいプロセスの識別子であるプロセスID(PID)を一つ以上指定します。複数のPIDを指定することで、一度に複数のプロセスにシグナルを送ることができます。

もし最初のシグナル引数を負の整数で指定した場合、その絶対値のシグナルが、そのグループIDを持つプロセスグループ内のすべてのプロセスに送信されます。

kill関数は、実際にシグナルを送信できたプロセスの数を整数で返します。ただし、シグナルを送信するには適切な権限が必要であり、権限がない場合や存在しないプロセスIDを指定した場合などには、Errno::EPERM のような例外が発生することがありますので注意が必要です。特に SIGKILL(9番)や SIGSTOP は、プロセスが無視できない特別なシグナルです。なお、Windows環境ではシグナル処理の概念がUNIX系システムと異なるため、この関数の動作も異なります。通常はプロセスを終了させる目的で利用されます。

構文(syntax)

1kill(signal, pid)

引数(parameters)

signal, *pids

  • signal: 終了させるプロセスに送信するシグナルを指定します。
  • *pids: 終了させるプロセスのID(PID)を複数指定します。

戻り値(return)

Integer

実行されたシグナルによって終了したプロセスの終了ステータスを整数で返します。

関連コンテンツ

関連プログラミング言語