【kill】Linuxでプロセスを終了させるコマンド

killコマンドは、プロセスおよびジョブを終了させるコマンドです。ここでは、Linuxのkillコマンドについて説明します。

killコマンドの使い方

killコマンドは指定したプロセスIDのプロセスを終了させます。

$ kill [オプション] プロセスID

主なオプション

-s シグナル指定したシグナル名またはシグナル番号を送信する
-シグナル指定したシグナル名またはシグナル番号を送信する
-l []シグナル名とシグナル番号の対応を表示する

主なシグナル

1SIGHUP再起動
6SIGABRT中断
9SIGKILL強制終了
15SIGTERM終了
17SIGSTOP停止
18SIGCONT再開

シグナル名を指定する場合は、最初の3文字「SIG」は省略して入力します。たとえば 、SIGABRTシグナルを送りたい場合は、以下のように入力します。

$ kill -ABRT プロセスID

プロセスを終了する

プロセスを正常終了させるには、オプションを省略するか、「-15」または「-TERM」を指定してkillコマンドを実行します。

例としてテキストエディタgeditをkillコマンドで終了する手順を説明します。

(1) pxコマンドでプロセスIDを調べる

$ ps ax | grep gedit
16619 ?        Sl     0:01 gedit

pxコマンドは実行中のすべてのプロセスが表示されてしまうので、grepコマンドを使って「gedit」の行だけ取得しています。これにより「gedit」のプロセスIDが「16619」であることが確認できます。

(2) killコマンドでプロセスIDを指定してプログラムを終了する

$ kill 16619

これで「gedit」プロセスは終了します。killコマンドを使うときは基本的にpxコマンドと併用して使用します。

プロセスを強制終了する

なんらかの理由で終了出来なくなったプロセスはkillコマンドで強制的に終了させることができます。以下の例では、プロセスIDが12345のプロセスを強制終了します。

$ kill -KILL 12345
# または
$ kill -9 12345

シグナルの一覧表示する

シグナル名とシグナル番号の対応一覧を確認するときは「-l」オプションを指定します。

$ 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	

イベント

2017/12/05(火)
Design Thinking Square