どーも!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はプロセス名でまとめて終了できる便利なコマンド- PIDを調べる必要がないため、作業効率が高い
- 強力なコマンドなので、特に
-9やsudo使用時は注意
killallコマンドを実行するときは、-iオプション付きで安全に使うのがおすすめです
以上です!
ここまで読んでいただきありがとうございました!




コメント