(7)【kill】シェルスクリプトコマンド活用紹介

killコマンド

  • killコマンドでプロセスIDを指定してプロセスを終了させる
  • killallコマンドで名前を指定してプロセスを終了させる

killコマンド概要

プロセスを強制終了させます。
killは実行中のプロセスを終了させる場合に使うコマンドです。

killコマンドでプロセスを終了させるには、

$ kill <プロセスID>

で指定します。
例えば、100番のプロセスならば

$ kill 100

と指定します。
プロセスIDは「ps」コマンドで調べることができます。

killコマンドの書式

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

killコマンドの主なオプション

オプション 意味
-s シグナル プロセスに送るシグナル名または番号。-シグナル名、-番号でも指定可能
-l シグナル名のリストを表示する

killコマンド詳細説明

プロセスIDでプロセスを終了させる

「kill プロセスID」で、指定したプロセスを終了させることができます。プロセスIDは「ps」コマンドで確認できます。

$ kill <プロセスID>

killallコマンドで名前を指定してプロセスを終了させる

「killall 名前」で、“名前”に指定したプロセスを終了させることができます。

$ killall <プロセス名>

さまざまなプロセスの調べ方と終了方法

ps aux を使う方法

bash-5.1$ ps axu | grep hugo | grep -v grep
suzukiiichiro    17498   0.0  3.4  5607088 567104 s003  S+   水11AM   2:58.60 hugo -D server
suzukiiichiro    20710   0.0  1.7  5328588 286744 s005  S+   11:38AM   0:13.50 hugo server
bash-5.1$

最後の grep -v grep は、grep コマンドでプロセス名を検索したプロセスを除くという意味になります。

さらにawkコマンドでプロセスIDを抽出します。

bash-5.1$ ps axu | grep hugo | grep -v grep | awk '{ print $2; }'
17498
20710
bash-5.1$

pgrep を使う方法
pgrep は、指定したプロセスのプロセスIDを抽出する方法です。

bash-5.1$ pgrep hugo
17498
20710
bash-5.1$

プロセスIDが解ったところでプロセスを終了します。

表記 数値 意味
KILL 9 プロセスの強制終了命令
$ kill -9 17498
$ kill -9 20710

面倒ですね。プロセスがたくさんある場合はとても煩雑です。
xargsコマンドを使うと一片にプロセスを終了させることができます。

bash-5.1$ ps axu | grep hugo | grep -v grep | awk '{ print $2; }' | xargs kill -9

終了したいプロセス名が解っている場合は以下のコマンドで一発で全ての同名プロセスを終了させることができます。

$ killall hugo

書籍の紹介

CSSでアプリのようにピタッとスナップするスクロールを作成

CSSでアプリのようにピタッとスナップするスクロールを作成

(6)【less】シェルスクリプトコマンド活用紹介

(6)【less】シェルスクリプトコマンド活用紹介