kill - プロセスの終了
kill コマンドでプロセスを終了させることができます。 まず ps コマンドを実行して PID (Process ID)を確認します。 そして、
% kill [PID]
のようにプロセスIDを指定すればそのプロセスを終了させることができます。
強制終了
もう一度確認してそれでも終了されていない場合は
% kill -9 [PID]
のように -9 オプションを指定して、強制的に kill させることができます。
ジョブ番号の指定
ジョブ番号を指定することもできます。まず jobs コマンドでジョブ番号をしらべます。
% jobs [1] + Suspended (tty output) mnews
ジョブ番号 1 番ですので、
% kill %1
のように指定します % を番号の頭につけて指定します。この場合もオプションは変わりません。
シグナルの送信
% kill -[シグナル名] [PID]
などのようにしてプロセスに対しシグナルを送信することができます。シグナル番号で送信することもできます。
% kill -[シグナル番号] [PID]
例えば kill -KILL [PID] や kill -9 [PID] のようにします。
シグナルの一覧は
% kill -l
で表示することができます。シグナルの種類は OS によって多少異なります。
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CLD PWR WINCH URG POLL STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ WAITING LWP FREEZE THAW CANCEL LOST RTMIN RTMIN+1 RTMIN+2 RTMIN+3 RTMAX-3 RTMAX-2 RTMAX-1 RTMAX
代表的なシグナル
番号 | シグナル名 | 解説 |
1 | HUP | 端末との接続が切断された(Hangup)ことによるプロセスの終了 |
2 | INT | 中断(インタラプト)。コマンドラインで C-c すると送られるシグナル。 |
3 | QUIT | 端末からの終了命令(Ctrl+\キーと同じ) |
4 | ILL | 不正な命令(Illegal Instruction)によるプロセスの中止 |
5 | TRAP | トレース(Trace),ブレーク・ポイント・トラップ(breakpoint trap)によるプロセスの終了 |
6 | ABRT | プロセスの異常終了 |
7 | EMT | (不明) |
8 | FPE | 浮動少数点例外(Floating Point Exception)によるプロセスの終了 |
9 | KILL | プロセスの強制終了 |
10 | BUS | メモリオブジェクトが未定義の場所へのアクセスしたことによるプロセスの終了 |
11 | SEGV | 無効なメモリ参照 |
12 | SYS | 誤りのシステムコール |
13 | PIPE | パイプ(Pipe)破壊によるプロセスの終了 |
14 | ALRM | alerm関数によるプロセスの終了 |
15 | TERM | 正常な終了動作を行わせて安全に終了。killのデフォルト。 |
23 | STOP | プロセスを中断させる。CONT で再開できる。C-z のサスペンドと同じ。 |
25 | CONT | STOPで中断したプロセスを再開させる。 |
なお、シグナルを省略したときに送られるシグナルは TERM です。