連載
» 2016年04月05日 05時00分 公開

Linux基本コマンドTips(8):【 kill 】コマンド/【 killall 】コマンド――実行中のプロセスを終了させる (2/2)

[西村めぐみ,@IT]
前のページへ 1|2       

シグナルとは

 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


画面3 画面3 「kill -l」「killall -l」でそれぞれシグナルのリストを表示できる


どうしても終了しないプロセスを“殺す”には

 「kill プロセスID」「killall 名前」で終了できなかったプロセス、つまり、終了命令(TERMシグナル)では終了できなかったようなプロセスでも、他のシグナルでは終わらせることができるかもしれません。

 例えば、「HUPシグナル」は、プロセスを実行したユーザーがログアウトしたのと同じような意味合いなので、うまくプロセスを終了できることがあります。

 それでも終了しない場合は、問答無用でプロセス終了させる「KILLシグナル」を送ります(画面4)。

コマンド実行例

kill -KILL プロセスID

killall -KILL 名前


画面4 画面4 「killall -KILL 名前」でプロセスを強制終了させた


時間を指定してプロセスを終了させるには

 “起動して1時間以上経過している××というプロセスを終了させたい”、という場合は、「-o」オプション(--older-thanオプション)を使用します(画面5)。逆に、新しいプロセスの場合は「-y」オプション(--younger-thanオプション)を使います。時間の指定方法は「-o」オプションと同じです。

コマンド実行例

killall -o 10m 名前

killall --older-than=10m 名前


画面5 画面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ラーニング指導を担当。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。