Categories: linux

killallコマンドで指定プロセスを一括終了!使い方と注意点をわかりやすく解説

Linuxで複数の同じプロセスが動いていて、それらをまとめて終了したいと思ったことはありませんか?
そんなときに役立つのが「killall」コマンドです。

本記事では、killallコマンドの基本的な使い方から、オプションによる応用、使用時の注意点までをわかりやすく解説します。Linux初心者の方でもすぐに実践できる内容です。
ぜひこの機会に、プロセス管理のスキルを一歩アップさせましょう!


killallコマンドとは?

killallは、Linuxで実行中のプロセスをプロセス名で指定して一括終了するためのコマンドです。
通常のkillコマンドでは、PID(プロセスID)を指定して終了させますが、killallではプロセス名を指定するだけで、該当するすべてのプロセスを終了できます。

たとえば、以下のように使います:

bashコピーする編集するkillall firefox

このコマンドは、実行中のすべてのfirefoxプロセスを一括で終了します。


killとの違い

killkillallは混同されがちですが、大きな違いは指定方法です。

コマンド指定方法使い方の例
killPID指定kill 12345
killallプロセス名killall firefox

killは精密に単体プロセスを終了させる場合に適していますが、killallは複数プロセスをまとめて終了したいときに便利です。


基本的な使い方

以下に基本的な使い方を紹介します。

例:すべての「gedit」プロセスを終了する

killall gedit

このコマンドで、現在実行中のgeditエディタをすべて終了します。

なお、ユーザーの権限によっては、sudoをつける必要があります。

bashコピーする編集するsudo killall apache2

よく使うオプション一覧とその使い方

killallはオプションを組み合わせることで、より細かく制御できます。以下によく使われるオプションを紹介します。

-i:確認プロンプトを表示

killall -i gedit

このオプションを使うと、終了させる前に「終了していいかどうか」を確認されます。誤操作防止におすすめです。

-v:実行結果を表示

killall -v gedit

どのプロセスを終了したかを表示します。スクリプトでログを取りたいときに便利です。

-u:ユーザー指定

killall -u ユーザー名 プロセス名

特定ユーザーが起動したプロセスのみ終了します。

例:

killall -u john firefox

ユーザー「john」が起動したfirefoxのみを終了します。

-q:メッセージ非表示(quiet)

killall -q プロセス名

終了メッセージを表示させずに実行できます。スクリプト向け。


シグナルの指定方法

killallは、killコマンドと同様にシグナルを指定できます。たとえば、TERM(終了)やKILL(強制終了)などです。

例:TERM(通常の終了)

killall -s TERM firefox

例:KILL(強制終了)

killall -s KILL firefox

KILLは即時強制終了させるシグナルなので、どうしても終了しないプロセスに使います。ただし、保存されていないデータが失われる可能性があるため注意が必要です。


実行前にプロセスを確認するには?

誤って重要なプロセスを終了しないよう、事前に確認することが大切です。

pgrepと組み合わせる方法

pgrep -l プロセス名

例:

pgrep -l apache2

このコマンドで、apache2に該当するプロセスIDと名前を一覧で確認できます。

または、psコマンドを使っても確認可能です。

ps aux | grep プロセス名

注意点とトラブル防止のポイント

killallは便利ですが、使い方を間違えると大変なトラブルにつながることもあります。以下のポイントに注意しましょう。

1. 類似プロセスに注意

プロセス名が部分一致ではなく完全一致しますが、似た名前のプロセスがあると混乱の元になります。事前にプロセス名を正確に確認しましょう。

2. sudo権限が必要なケース

システムレベルのプロセス(例:nginx, apache2など)を終了するには、sudoをつける必要があります。

sudo killall nginx

3. データ保存を忘れずに!

GUIアプリケーションをkillallで終了させると、保存していない作業が失われる可能性があります。あらかじめ保存をしてから終了するようにしましょう。


killallが使えない場合の対処法

環境によっては、killallコマンドが使えない(インストールされていない)場合もあります。

1. インストールされていない場合

以下のコマンドでインストールできます。

Debian/Ubuntu系:

sudo apt install psmisc

RedHat/CentOS系:

sudo yum install psmisc

2. 代替としてkill + pgrepの組み合わせ

kill $(pgrep firefox)

この方法でも同じ効果が得られます。ただし、プロセス数が多いときはkillallの方がスマートです。


まとめ:killallで効率的なプロセス管理を

killallコマンドは、複数の同名プロセスを簡単に終了できる非常に便利なツールです。
特に、GUIアプリケーションやバックグラウンドプロセスが複数立ち上がっているときに、効率的な終了操作が可能になります。

とはいえ、強力なコマンドであるからこそ、誤操作は大きなリスクにもなりかねません。-iオプションでの確認や、事前のプロセス確認を習慣にすることで、安全に活用できます。

Linuxのプロセス管理において、killallを正しく使いこなせば、日々の作業効率が大幅にアップすることでしょう。
ぜひ、この記事を参考に試してみてください!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。