【Linux】プロセス名で指定してまとめて終了させる:killall

Linux

どーも!marusukeです!

指定したプロセス名を持つプロセスをまとめて終了(シグナル送信)させるコマンドkillallについてです!


killallコマンドでできること

killall [オプション] プロセス名

killallコマンドは、指定したプロセス名を持つプロセスをまとめて終了(シグナル送信)するためのコマンドです。
Linuxでは、プログラムは「プロセス」として動作しており、通常はkillコマンドでPID(プロセスID)を指定して終了させます。しかし、PIDを調べるのは少し手間です。

killallを使えば、プロセス名だけで対象を指定できるため、同じプログラムが複数起動している場合でも一括で終了できます。
例えば、ブラウザやサーバープロセスがフリーズしたときに、素早く停止させたい場面で役立ちます。

⚠ 注意点
killallは指定した名前のプロセスをすべて対象にするため、システムで重要なプロセスを指定すると、ログアウトやシステム不安定の原因になることがあります。特にsudo付きでの実行は慎重に行いましょう。

シグナルとは?

シグナルとは、Linuxでプロセスに送る「通知」や「命令」のことです。終了、再起動、停止などを指示できます。killallはデフォルトでSIGTERM(通常終了)を送ります


killallコマンドの使用例

$ killall firefox
$ echo $?
0

解説
この例では、firefoxという名前のプロセスをすべて終了しています
echo $?は直前のコマンドの終了ステータスを表示し、0は正常終了を意味します

強制終了したい場合の例:

$ killall -9 firefox

これはSIGKILLという強制終了シグナルを送ります。通常終了できない場合の最終手段として使います


killallコマンドのオプション

オプション説明
-9強制終了(SIGKILL)を送る。プロセスは即座に終了する
-15通常終了(SIGTERM)を送る(デフォルト)
-i各プロセスを終了する前に確認を求める
-vシグナルを送ったプロセス名を表示する
-u ユーザー名指定したユーザーが所有するプロセスのみ対象にする
-eプロセス名の完全一致のみを対象にする
-r正規表現でプロセス名を指定する

参考図書・参考リンク

参考にさせていただいている本はこちらです!

Linux教科書 LPICレベル1 Version5.0対応 (EXAMPRESS) [ 中島 能和 ]

参考リンクはこちらです!

killall(1) - Linux manual page

まとめ

  • killallプロセス名でまとめて終了できる便利なコマンド
  • PIDを調べる必要がないため、作業効率が高い
  • 強力なコマンドなので、特に-9sudo使用時は注意

killallコマンドを実行するときは、-iオプション付きで安全に使うのがおすすめです

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました