Linuxのkillコマンドは、プロセス管理やサーバ運用に欠かせない基本コマンドです。ここでは、シグナル・オプションの網羅的な解説から、具体的なコマンド例、応用テクニックまでをまとめました。
kill
コマンドは、指定したプロセスID(PID)にシグナルを送信し、プロセスの終了・一時停止・再開などの制御ができます。デフォルトで送信されるシグナルはSIGTERM
(15番)です。
まずは、操作したいプロセスのPIDを確認します。
kill [PID]
… デフォルト(SIGTERM=通常終了)シグナルを送信kill -[シグナル名または番号] [PID]
… 指定したシグナルを送信kill -s [シグナル名または番号] [PID]
… -sオプションでシグナル指定kill -l
… 使用可能なシグナル一覧の表示kill 1234 # PID 1234のプロセスを通常終了
kill -9 9876 # 強制終了(SIGKILL)
kill -TERM 4585 # 通常終了
kill -STOP 2222 # 一時停止
kill -CONT 2222 # 停止プロセス再開
kill -l # シグナル一覧の表示
シグナル名 | ID | 意味 |
---|---|---|
HUP | 1 | ハングアップ(再起動や接続切断時の終了) |
INT | 2 | キーボード割り込み(Ctrl+C) |
QUIT | 3 | キーボード中止 |
ILL | 4 | 不正命令 |
ABRT | 6 | 異常終了 |
KILL | 9 | 強制終了(無視不可) |
SEGV | 11 | メモリ違反 |
TERM | 15 | 通常終了(デフォルト) |
STOP | 19 | 停止(無条件で一時停止、無視不可) |
CONT | 18 | 停止解除 |
オプション | 内容・用途 | サンプル |
---|---|---|
(なし) | SIGTERM(デフォルト)送信 | kill 1234 |
-l | シグナル一覧表示 | kill -l |
-s | シグナル指定送信 | kill -s KILL 1234 |
-[ID/名] | シグナルIDまたは名で指定 | kill -9 1234 |
-STOP | プロセス一時停止 | kill -STOP 1234 |
-CONT | 停止プロセスを再開 | kill -CONT 1234 |
kill -9 [PID]
(SIGKILL)は、強制的にプロセスを即座に停止します。他のシグナルと違い、無視できません。killコマンドは多彩なオプションとシグナル指定により、Linuxプロセス管理に不可欠な機能を提供します。基本から強制終了、複数プロセス同時操作、シグナル一覧の表示まで、使い方を理解し、安全に運用しましょう。