効率よく結果を出す法則とは……?

Linuxコマンド「kill」とオプションの使い方(プロセスやジョブを強制終了する、シグナルを送る)

「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」コマンドで、プロセスやジョブを強制終了することができる。
  • オプションを使うことで、終了以外のシグナルもプロセスに送ることができる。