kill コマンドは、指定した プロセスにシグナルを送信 するためのコマンドです。
代表的にはプロセスを終了させる(SIGTERM, SIGKILL)用途で使われますが、終了以外にも一時停止や再開などの制御も可能です。
構文(Syntax)
kill [オプション] PID...\nkill -s SIGNAL PID...\nkill -SIGNAL PID...\n
主なオプション・シグナル一覧
| オプション/シグナル | 説明 | 使用例 |
|---|---|---|
(なし) = -15 | デフォルトで SIGTERM を送信(通常終了要求) | kill 1234 |
-9 / -SIGKILL | 強制終了 | kill -9 1234 |
-1 / -SIGHUP | プロセスを再起動(多くのデーモンが設定再読み込み) | kill -1 1234 |
-2 / -SIGINT | Ctrl+C と同じ割り込み | kill -2 1234 |
-STOP | プロセスを一時停止 | kill -STOP 1234 |
-CONT | 停止中のプロセスを再開 | kill -CONT 1234 |
-l | 利用可能なシグナル一覧を表示 | kill -l |
実行例
通常終了(SIGTERM)
kill 1234\n
(PID 1234 のプロセスに終了要求を送信)
強制終了(SIGKILL)
kill -9 1234\n
デーモンに設定再読み込みを要求
kill -HUP 5678\n
複数のプロセスを終了
kill 1234 5678 91011\n
シグナル一覧を表示
kill -l\n
出力例:
1) SIGHUP 2) SIGINT 3) SIGQUIT 9) SIGKILL 15) SIGTERM ...\n
プロセスを一時停止
kill -STOP 1234\n
停止したプロセスを再開
kill -CONT 1234\n
エラー例(存在しないPID)
kill 99999\n
出力例:
bash: kill: (99999) - No such process\n
関連コマンド
ps: 実行中のプロセスを確認top/htop: 動的にプロセスを監視pkill: プロセス名を指定して終了killall: プロセス名で複数のプロセスをまとめて終了shutdown: 暴走プロセス対処後やシステム全体の安全な停止・再起動
備考
SIGTERM(15)がデフォルトで送信されるが、アプリによっては無視される場合がある。SIGKILL(9)は強制終了であり、プロセスは後処理を実行できないため注意が必要。killは「プロセスを殺す」コマンドというよりも「シグナルを送る」コマンド。終了以外の用途も多い。
参考
- manページ: man7.org kill(1)
- シグナル一覧: man7.org signal(7)

コメント