【キル】
kill とは?
最終更新:
💡 プロセスへシグナルという「お手紙」を送るコマンド
LinuxなどのUnix系OSで、プロセスにシグナルを送るコマンド。終了要求のほか、一時停止や再開などにも使う。
📌 このページのポイント
killって名前が怖いんだけど、何をするの?
終了を頼むにはどうするの?
SIGTERMなら、保存してから終了してくれる?
アプリがSIGTERM用の処理を実装していれば、後片付けをして終了できるよ。既定の動作は終了だけれど、アプリによっては捕捉したり無視したりできるので、保存を保証するシグナルではないんだ。
終了しなければSIGKILLを使うの?
強制終了が必要かを確認して使うよ。kill -s KILL PIDで送るSIGKILLは捕捉・無視できず、アプリの後片付け処理を呼べない。未保存の作業などを失うおそれがあるので、いきなり使うのは避けよう。
一時停止や再開もシグナルでできる?
もっと詳しく知りたい人へ
SIGHUPを送ると、必ず設定を再読み込みする?
いいえ。LinuxでのSIGHUPの既定の動作はプロセスの終了です。設定再読み込みになるのは、対象アプリがそのような処理を実装している場合です。アプリの管理手順を確認してから使います。
シグナルを送れないときは何を確認する?
まずPIDが対象プロセスのものか、送信権限があるかを確認します。Linuxのkillシステムコールは権限不足をEPERM、対象が見つからない場合をESRCHとして報告します。既に終了して親の回収を待つゾンビは、実行中のプロセスとは状態が異なります。
📖 おまけ:英語の意味
「kill」 = 殺す、終了させる
💬 名前から終了専用に見えるけれど、コマンドの役割はシグナルを送ることだよ。