killコマンドは、プロセスおよびジョブを終了させるコマンドです。ここでは、Linuxのkillコマンドについて説明します。
killコマンドの使い方
killコマンドは指定したプロセスIDのプロセスを終了させます。
1 |
$ kill [オプション] プロセスID |
主なオプション
-s シグナル | 指定したシグナル名またはシグナル番号を送信する |
-シグナル | 指定したシグナル名またはシグナル番号を送信する |
-l [] | シグナル名とシグナル番号の対応を表示する |
主なシグナル
1 | SIGHUP | 再起動 |
6 | SIGABRT | 中断 |
9 | SIGKILL | 強制終了 |
15 | SIGTERM | 終了 |
17 | SIGSTOP | 停止 |
18 | SIGCONT | 再開 |
シグナル名を指定する場合は、最初の3文字「SIG」は省略して入力します。たとえば 、SIGABRTシグナルを送りたい場合は、以下のように入力します。
1 |
$ kill -ABRT プロセスID |
プロセスを終了する
プロセスを正常終了させるには、オプションを省略するか、「-15」または「-TERM」を指定してkillコマンドを実行します。
例としてテキストエディタgeditをkillコマンドで終了する手順を説明します。
(1) pxコマンドでプロセスIDを調べる
1 2 |
$ ps ax | grep gedit 16619 ? Sl 0:01 gedit |
pxコマンドは実行中のすべてのプロセスが表示されてしまうので、grepコマンドを使って「gedit」の行だけ取得しています。これにより「gedit」のプロセスIDが「16619」であることが確認できます。
(2) killコマンドでプロセスIDを指定してプログラムを終了する
1 |
$ kill 16619 |
これで「gedit」プロセスは終了します。killコマンドを使うときは基本的にpxコマンドと併用して使用します。
プロセスを強制終了する
なんらかの理由で終了出来なくなったプロセスはkillコマンドで強制的に終了させることができます。以下の例では、プロセスIDが12345のプロセスを強制終了します。
1 2 3 |
$ kill -KILL 12345 # または $ kill -9 12345 |
シグナルの一覧表示する
シグナル名とシグナル番号の対応一覧を確認するときは「-l」オプションを指定します。
1 2 3 4 5 6 7 8 9 |
$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG 17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD 21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGINFO 30) SIGUSR1 31) SIGUSR2 |