
【Linux入門】プロセスの終了
プロセスの終了は、そのプロセスが実行されるタスクを完了した後や、異常が発生して中断された際に行われます。終了時には、プロセスがリソースを解放し、親プロセスに対して終了状態を通知します。
calプロセスの起動から終了までの解説
- シェルのコマンドラインで
cal
を実行すると、新しいプロセスが生成されます。 - 新しいプロセスは
cal
プログラムの実行ファイルを読み込み、メモリ内にロードします。 cal
プロセスはカレンダーを表示し、その処理が完了すると終了ステータスを返します。- プロセスが終了すると、そのプロセスが使用していたリソース(メモリ、ファイルディスクリプタなど)が解放されます。

シグナルとは
シグナルは、プロセス間通信やプロセス制御に使用される特殊な通知です。システムやユーザーがプロセスに対してイベントを通知するために使用されます。シグナルは通常、異常な状況や特定の要求(プロセスの終了など)を示す目的で送信されます。
シグナルの一覧
下表は、Linuxシステムで使用されるシグナルです。プロセスがシグナルを受信すると、そのプロセスは対応する処理を行います。
シグナルID | シグナル名 | 動作 |
---|---|---|
1 | SIGHUP | 制御端末の切断 |
2 | SIGINT | キーボードからの割り込み |
3 | SIGQUIT | キーボードからの中断 |
9 | SIGKILL | 強制終了 |
15 | SIGTERM | 終了要求 |
19 | SIGSTOP | プロセスの一時停止 |
18 | SIGCONT | 停止されていたプロセスの再開 |
10,30 | SIGUSR1 | ユーザー定義シグナル1 |
12,31 | SIGUSR2 | ユーザー定義シグナル2 |
11 | SIGSEGV | セグメンテーション違反 |
13 | SIGPIPE | 書き込み先がクローズされたパイプへの書き込み |
14 | SIGALRM | アラームクロックからのシグナル |
よく使用する代表的なシグナルに絞ったものが下表です。シグナル名の頭にある「SIG」と付けずに指定することもできます。
シグナルID | シグナル名 | 動作 |
---|---|---|
9 | KILL | 強制終了 |
15 | TERM | 終了要求 |
18 | CONT | 停止されていたプロセスの再開 |
19 | STOP | プロセスの一時停止 |
これらのシグナルは、Linuxシステムで頻繁に使用され、プロセスの制御や通信に重要な役割を果たします。