Linuxで複数の同じプロセスが動いていて、それらをまとめて終了したいと思ったことはありませんか?
そんなときに役立つのが「killall」コマンドです。
本記事では、killallコマンドの基本的な使い方から、オプションによる応用、使用時の注意点までをわかりやすく解説します。Linux初心者の方でもすぐに実践できる内容です。
ぜひこの機会に、プロセス管理のスキルを一歩アップさせましょう!
killallは、Linuxで実行中のプロセスをプロセス名で指定して一括終了するためのコマンドです。
通常のkillコマンドでは、PID(プロセスID)を指定して終了させますが、killallではプロセス名を指定するだけで、該当するすべてのプロセスを終了できます。
たとえば、以下のように使います:
bashコピーする編集するkillall firefox
このコマンドは、実行中のすべてのfirefoxプロセスを一括で終了します。
killとkillallは混同されがちですが、大きな違いは指定方法です。
| コマンド | 指定方法 | 使い方の例 |
|---|---|---|
| kill | PID指定 | kill 12345 |
| killall | プロセス名 | killall firefox |
killは精密に単体プロセスを終了させる場合に適していますが、killallは複数プロセスをまとめて終了したいときに便利です。
以下に基本的な使い方を紹介します。
killall gedit
このコマンドで、現在実行中のgeditエディタをすべて終了します。
なお、ユーザーの権限によっては、sudoをつける必要があります。
bashコピーする編集するsudo killall apache2
killallはオプションを組み合わせることで、より細かく制御できます。以下によく使われるオプションを紹介します。
killall -i gedit
このオプションを使うと、終了させる前に「終了していいかどうか」を確認されます。誤操作防止におすすめです。
killall -v gedit
どのプロセスを終了したかを表示します。スクリプトでログを取りたいときに便利です。
killall -u ユーザー名 プロセス名
特定ユーザーが起動したプロセスのみ終了します。
例:
killall -u john firefox
ユーザー「john」が起動したfirefoxのみを終了します。
killall -q プロセス名
終了メッセージを表示させずに実行できます。スクリプト向け。
killallは、killコマンドと同様にシグナルを指定できます。たとえば、TERM(終了)やKILL(強制終了)などです。
killall -s TERM firefox
killall -s KILL firefox
KILLは即時強制終了させるシグナルなので、どうしても終了しないプロセスに使います。ただし、保存されていないデータが失われる可能性があるため注意が必要です。
誤って重要なプロセスを終了しないよう、事前に確認することが大切です。
pgrep -l プロセス名
例:
pgrep -l apache2
このコマンドで、apache2に該当するプロセスIDと名前を一覧で確認できます。
または、psコマンドを使っても確認可能です。
ps aux | grep プロセス名
killallは便利ですが、使い方を間違えると大変なトラブルにつながることもあります。以下のポイントに注意しましょう。
プロセス名が部分一致ではなく完全一致しますが、似た名前のプロセスがあると混乱の元になります。事前にプロセス名を正確に確認しましょう。
システムレベルのプロセス(例:nginx, apache2など)を終了するには、sudoをつける必要があります。
sudo killall nginx
GUIアプリケーションをkillallで終了させると、保存していない作業が失われる可能性があります。あらかじめ保存をしてから終了するようにしましょう。
環境によっては、killallコマンドが使えない(インストールされていない)場合もあります。
以下のコマンドでインストールできます。
Debian/Ubuntu系:
sudo apt install psmisc
RedHat/CentOS系:
sudo yum install psmisc
kill $(pgrep firefox)
この方法でも同じ効果が得られます。ただし、プロセス数が多いときはkillallの方がスマートです。
killallコマンドは、複数の同名プロセスを簡単に終了できる非常に便利なツールです。
特に、GUIアプリケーションやバックグラウンドプロセスが複数立ち上がっているときに、効率的な終了操作が可能になります。
とはいえ、強力なコマンドであるからこそ、誤操作は大きなリスクにもなりかねません。-iオプションでの確認や、事前のプロセス確認を習慣にすることで、安全に活用できます。
Linuxのプロセス管理において、killallを正しく使いこなせば、日々の作業効率が大幅にアップすることでしょう。
ぜひ、この記事を参考に試してみてください!