【 kill 】コマンド/【 killall 】コマンド――実行中のプロセスを終了させる:Linux基本コマンドTips(8)(2/2 ページ)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介してきます。今回は、「kill」コマンドと「killall」コマンドです。
シグナルとは
killコマンドとkillallコマンドは、プロセスに“シグナル”を送るコマンドです。
例えば、実行中のコマンドがなかなか終了しない場合には、[Ctrl]+[C]キーを押して強制終了させることがあります。実は、[Ctrl]+[C]キーを押すと、「INT」というシグナルがプロセスに送られています。
killコマンドやkillallコマンドが送っているのは「TERM」というシグナルで、「Terminate」つまり「終了しなさいという信号を送っている」という意味になります。
他のシグナルを送りたいときは「kill -HUP プロセスID」のように、オプションでシグナルの略称を指定します。ちなみに「HUP」はもともとハングアップ(回線切断)の信号で、端末を使用するプロセスはこのシグナルを受け取ると終了します。メモリに常駐するタイプのプロセスはHUPシグナルを受け取ると再起動するので、サーバプロセスに対して設定を再読込させたい場合や、再起動させたい場合に使われることがあります(※)。
【※】シグナルに対してどのような動作をするかについては、おおむねの方針が存在しますが、実際にどうなっているかはコマンドによって(開発者によって)異なります。
また、シグナルは数値で指定することもできます。先ほどのHUPであれば「kill -1 プロセスID」のように指定することも可能です。
表記 | 数値 | 意味 |
---|---|---|
HUP | 1 | 制御している端末/プロセスがハングアップした |
INT | 2 | キーボードからの割り込み命令([Ctrl]+[C]キー) |
QUIT | 3 | キーボードからの中止命令([Ctrl]+[\]キー) |
TERM | 15 | プロセスの終了命令(デフォルト) |
KILL | 9 | プロセスの強制終了命令 |
STOP | 19 | プロセスの停止命令([Ctrl]+[Z]キー) |
CONT | 18 | プロセスの再開命令 |
※「SIGHUP」「SIGINT」のように“SIG”を付ける場合もあります。killコマンド、killallコマンドはどちらも使用可能です |
使用できるシグナルを確認するには
killコマンドとkillallコマンドで使用可能なシグナル名は、「-l」オプションで確認できます(画面3)。
コマンド実行例
kill -l
killall -l
どうしても終了しないプロセスを“殺す”には
「kill プロセスID」「killall 名前」で終了できなかったプロセス、つまり、終了命令(TERMシグナル)では終了できなかったようなプロセスでも、他のシグナルでは終わらせることができるかもしれません。
例えば、「HUPシグナル」は、プロセスを実行したユーザーがログアウトしたのと同じような意味合いなので、うまくプロセスを終了できることがあります。
それでも終了しない場合は、問答無用でプロセス終了させる「KILLシグナル」を送ります(画面4)。
コマンド実行例
kill -KILL プロセスID
killall -KILL 名前
時間を指定してプロセスを終了させるには
“起動して1時間以上経過している××というプロセスを終了させたい”、という場合は、「-o」オプション(--older-thanオプション)を使用します(画面5)。逆に、新しいプロセスの場合は「-y」オプション(--younger-thanオプション)を使います。時間の指定方法は「-o」オプションと同じです。
コマンド実行例
killall -o 10m 名前
killall --older-than=10m 名前
画面5 「killall -o 10m cat」で起動して10分以上立つ「cat」コマンドを終了させた(どのプロセスに効いたか分かりやすくするために、「-i」オプションと「-v」オプションを併用しています)
時間は数字と記号を使って示します。例えば、10分であれば「10m」のようにします。
記号 | 時間単位 |
---|---|
s | 秒 |
m | 分 |
h | 時 |
d | 日 |
w | 週 |
M | 月 |
y | 年 |
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.