どーも!marusukeです!
実行中のプロセスにシグナルを送信するコマンドkillについてです!
killコマンドでできること
kill [オプション] プロセスID(PID)
killコマンドは、実行中のプロセス(プログラム)に対してシグナルを送信するためのLinuxコマンドです
多くの人が「プロセスを強制終了するコマンド」と認識していますが、正確には終了以外の指示(再読み込み、一時停止など)も送ることが可能です
Linuxでは、アプリケーションやサービスはすべて「プロセス」として動作しており、それぞれにPID(プロセスID)が割り当てられていますkillはそのPIDを指定して、OS経由で命令を送ります
例えば、
- フリーズしたアプリを終了したい
- サーバープロセスを再起動せずに設定を再読み込みしたい
- バックグラウンドで動いている不要な処理を止めたい
といった場面でよく使われます
似ているコマンド
ちなみに同じようなコマンドにpkillやkillallがあり、プロセス名を指定してシグナルを送信します。killコマンドはPIDを指定します
用語解説:シグナル
シグナルとは、Linuxがプロセスに送る通知や命令のことです。「終了してください」「一時停止してください」などの意味を持ちます。番号や名前で指定でき、プロセスの動作を制御します
killコマンドの使用例
$ ps aux | grep sleep
user 12345 0.0 0.0 2600 600 pts/0 S 10:00 0:00 sleep 1000
$ kill 12345
$ ps aux | grep sleep
(何も表示されない)
上記の例では、sleep 1000という実行中のプロセスを確認し、kill 12345でPID 12345のプロセスに終了シグナル(SIGTERM)を送っています
特にオプションを指定しない場合、killはSIGTERM(15)を送信します
これは「できれば安全に終了してください」という穏やかな終了要求です
プロセスID(PID)の調べ方
psコマンドで調べることができます
詳しくは以下の記事をご覧ください
killコマンドのオプション
| オプション | シグナル名 | 説明 |
|---|---|---|
-15 | SIGTERM | デフォルト。安全に終了するよう要求 |
-9 | SIGKILL | 強制終了(最後の手段) |
-1 | SIGHUP | 設定ファイルの再読み込み |
-2 | SIGINT | Ctrl+Cと同じ動作 |
-l | — | 利用可能なシグナル一覧を表示 |
よく使われる例
kill -9 12345
-9(SIGKILL)は即座に強制終了します
注意:プロセスは後処理を行えないため、データが破損する可能性があります。
kill -l
利用可能なシグナル一覧を確認できます。
シグナルの理解が深まるため、初心者にもおすすめです
まとめ
killはプロセスにシグナルを送るコマンド- 通常は
kill PID(SIGTERM)で安全に終了 - どうしても止まらない場合のみ
kill -9 - Linux運用・トラブル対応で必須の基本コマンド
Linuxを使いこなす第一歩として、ぜひpsコマンドと合わせて練習してみてください
以上です!
ここまで読んでいただきありがとうございました!



コメント