kill:プロセスを終了するLinuxコマンド
目次
killコマンドとは
「kill」コマンドを使うと、プロセスを終了することができる。killコマンドは、プロセスを終了するというだけではなく、本来はプロセスにシグナルを送るコマンドである。送信するシグナルを指定しない場合には、SIGTERM(値は15)が送られプロセスが終了される。プロセスIDに「0」を指定した場合、すべてのプロセスにシグナルを送り、「-1」を指定した場合には1よりも大きなプロセスIDのすべてのプロセスにシグナルを送る。また「-数値」で数値を指定した場合には、プロセスグループのプロセスにシグナルが送られる。
書式
$ kill [オプション]プロセスID
killコマンドのオプション
killコマンドで良く用いられるオプションには以下のようなものがある。
-s シグナル | プロセスに送るシグナルを指定する。 |
-l | シグナルを一覧で表示する。シグナル名を指定した場合には、シグナルIDを表示する。 |
使用例
プロセスID28745にシグナルを送って終了させる
$ kill 28745
$ kill -s 15 28745
$ kill -SIGTERM 28745
利用可能なシグナルの一覧を表示する
$ kill -l
一部のシグナルの意味は、CPUのアーキテクチャによって異なるが、以下ではx86のシグナル一覧を示す。
名前 | 番号 | 動作 | 意味 |
---|---|---|---|
SIGHUP | 1 | Term | 制御端末の切断(ハングアップ)、仮想端末の終了 |
SIGINT | 2 | Term | キーボードからの割り込みシグナル(通常は[CTRL]+[C]) |
SIGQUIT | 3 | Core | キーボードによる中止シグナル(通常は[CTRL]+[\]) |
SIGFPE | 8 | Core | 不正な浮動小数点演算(ゼロ除算やオーバーフローなど)の発生 |
SIGKILL | 9 | Term | 強制終了シグナル(KILLシグナル) |
SIGSEGV | 11 | Core | 不正なメモリ参照の発生 |
SIGPIPE | 13 | Term | 読み手のいないパイプへの書き込み (通常はこのシグナルを受け取ると即時終了する) |
SIGALRM | 14 | Term | タイマー(Alarm)による終了 |
SIGTERM | 15 | Term | 終了シグナル(「kill」コマンドのデフォルトシグナル) |
SIGCHLD | 17 | Ignore | 子プロセスの状態(終了、停止または再開)が変わった |
SIGCONT | 18 | Cont | 一時停止しているジョブへの再開シグナル |
SIGSTOP | 19 | Stop | 一時停止シグナル |
SIGTSTP | 20 | Stop | 端末からの一時停止シグナル(通常は[CTRL]+[Z]) |
SIGTTIN | 21 | Stop | バックグラウンドジョブ/プロセスのキーボード入力待ち |
SIGTTOU | 22 | Stop | バックグラウンドジョブ/プロセスの端末出力待ち |
SIGXCPU | 24 | Core | CPU時間制限を越えた |
SIGXFSZ | 25 | Core | ファイルサイズ制限を越えた |
SIGWINCH | 28 | Ignore | ウィンドウのサイズが変更された |
終わりに
今回は、プロセスを終了させるLinuxコマンドについて紹介した。なお、プロセスを実行したユーザーがコマンドの実行を終了するには、「Ctrl+C」のショートカットキーで終了できる。頻繁に用いるLinuxコマンドの一覧とこれまでに整理したコマンドへのリンクまとめについては、
LINUX コマンド一覧 LINUX コマンド一覧 ここでは、頻繁に使うLINUXコマンドについて整理しました。より詳細な説明については随時追加していきたいと思います。 aliasコマンドの別名を登...
を、参照下さい。