「kill」コマンドを使うと、プロセスやジョブを強制終了することができます。
また、プロセスにシグナルを送るときに使うコマンドです。
以下から Linuxコマンド「kill」の具体的な使い方とオプションを解説していきます。
目次
「kill」コマンドの基本
「kill」は以下のようにプロセスIDを指定して使います。
kill プロセスID
プロセスを終了する
実際にコマンドを使ってプロセスの終了を試してみましょう。
まずは準備のために、以下のコマンドで「file1.txt」を作成します。
touch file1.txt
touch コマンドの詳しい使い方はこちら。
次に以下のコマンドで、「file1.txt」を監視する tail コマンドを起動します。
tail -f file1.txt
tail コマンドの詳しい使い方はこちら。
それでは今 起動している tail コマンドを、kill コマンドを使って終了してみましょう。
tail コマンドを起動しているタブは開いたまま 新しいタブを開いて、以下のコマンドでプロセス一覧を確認します。
ps aux
今回の例では、tail -f file1.txt
コマンドに対応するプロセスIDが 4512
になっていることが確認できます。
ps コマンドの詳しい使い方はこちら。
調べたプロセスIDを使って tail コマンドを終了します。コマンドは以下。
kill 4512
これで tail コマンドを終了することができました。
tail コマンドを起動していたタブに戻ると、このような表示になって終了されていることが確認できます。
プロセスを強制終了する
さきほどはプロセスを正常に終了する例でした。
これで終了できない場合は、以下のように -9
オプションを使って強制終了させることができます。
kill -9 プロセスID
もしくは
kill -KILL プロセスID
プロセスIDが4512のプロセスを強制終了させるコマンド例
kill -9 4512
kill -KILL 4512
ここまでが「kill」コマンドの基本!
理解をさらに深めたい方は以下からの内容もご覧ください。
シグナル一覧
以下のように kill コマンドを使うと、プロセスにさまざまなシグナルを送って動作を命令することができます。
kill -シグナルID プロセスID
もしくは
kill -シグナル名 プロセスID
プロセスIDが1234のプロセスを強制終了させるコマンド例
kill -9 1234
kill -KILL 1234
-9
や -KILL
のほかに、kill コマンドで使えるシグナル一覧を以下にまとめました。
シグナルID | シグナル名 | 動作 |
1 |
HUP |
ハングアップ(端末との接続が切断)による終了 |
2 |
INT |
キーボードからの割り込みによる終了 |
3 |
QUIT |
キーボードからの中止 |
4 |
ILL |
不正な命令による中止 |
6 |
ABRT |
中断 |
9 |
KILL |
強制終了 |
11 |
SEGV |
不正なメモリ参照による終了 |
15 |
TERM |
終了(デフォルト) |
18 |
CONT |
再開 |
19 |
STOP |
中断 |
「kill」コマンドのオプション一覧
kill コマンドで使えるオプションを一覧でまとめました。
-l オプション
-l
オプションをつけると、シグナルIDとシグナル名の一覧を表示することができます。
-s オプション
-s
オプションをつけると、プロセスに指定したシグナルを送ることができます。
送信するシグナルは、シグナルID または シグナル名で指定できます。
シグナルの種類は、このページの上にあるシグナル一覧を参考にしてみてください。
プロセスIDが1234のプロセスを終了(シグナルID: 15)させるコマンド例
kill -s 15 1234
kill -s TERM 1234
このような省略形で実行することが多いです
kill -15 1234
kill -TERM 1234
まとめ
以上、Linuxコマンド「kill」の使い方でした!
ここまでの内容をまとめておきます。
- 「kill」コマンドで、プロセスやジョブを強制終了することができる。
- オプションを使うことで、終了以外のシグナルもプロセスに送ることができる。