Linuxコマンド辞典 killコマンド(プロセス管理)
プロセスを終了する「kill」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:Man page of INSTALL
目次
概要・使用方法
プロセスにシグナルを送ります。送信するシグナルを何も指定しない場合は、SIGTERM(値は15)を送ります。SIGTERMはプロセスを終了させるシグナルです。プロセスIDは「0」を指定するとすべてのプロセスにシグナルを送ります。「-1」を指定すると1より大きいプロセスIDを持つすべてのプロセスにシグナルを送ります(プロセスIDが1になるのはinitだけです)。「-数値」で数値を指定するとプロセスグループのプロセスにシグナルを送ります。プロセスIDの代わりにプロセス名を指定することもできます。コマンド名を指定すると、該当するすべてのプロセスにシグナルを送ることができます。
※PIDの代わりに「%ジョブ番号」のようにジョブ番号を指定することもできます。
書式
$ kill [オプション] プロセスID
オプション
-s シグナル | プロセスに送るシグナルを指定する |
-l [シグナル] | シグナルを一覧表示する。シグナル名を指定した場合は、シグナルIDを表示する。 |
主なシグナル
シグナル番号 | シグナル名 | 説明 |
---|---|---|
1 | HUP(SIGHUP) | ハングアップ(端末が制御不能もしくは切断による終了) |
2 | INT(SIGINT) | キーボードからの割り込み(CTRL+C) |
9 | KILL(SIGKILL) | 強制終了 |
15 | TERM(SIGTERM) | 終了(デフォルト) |
18 | CONT(SIGCONT) | 停止しているプロセスの再開 |
19 | STOP(SIGSTOP) | 一時停止(ctrl+Z) |
※HUPシグナルを受け取ったプロセスは再起動するので、設定の再読込に使われます。
シグナル一覧を表示する
$ kill -l
実行結果
[suna@localhost ~]$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
シグナル名/シグナルIDを指定して、シグナルID/シグナル名を表示する
$ kill -l シグナル名
$ kill -l シグナルID
実行結果
[suna@localhost ~]$ kill -l SIGTERM
15
[suna@localhost ~]$ kill -l 15
TERM
[suna@localhost ~]$
プロセスにシグナルを送って終了させる。
$ kill プロセスID
実行結果
[root@localhost ~]# kill 834420
[root@localhost ~]#
プロセスを強勢終了させる
killコマンドを実行しても終了できない場合は、より強力なシグナルを送り強制的に終了させます。
$ kill -9 プロセスID
$ kill -kill プロセスID
$ kill -SIGKILL プロセスID
実行結果
[root@localhost ~]# kill -9 834420
[root@localhost ~]#
プロセスをハングアップさせる
実行中または待機中のプロセスをハングアップさせたい時などあります。たとえば、すでに起動しているプログラムに新たに設定ファイルを反映させたい場合など。ハングアップシグナルを送るとデーモンがプログラムを再起動させます。
$ kill -1 プロセスID
$ kill -SIGHUP プロセスID
$ kill -HUP プロセスID
実行結果
[root@localhost ~]# kill -1 834420
[root@localhost ~]#