宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
「同じコマンドを複数起動してしまい、PIDを一つひとつ調べてkillするのが面倒だ」という状況はLinuxを使っていれば必ず経験する。

そのような場面で便利なのがkillallコマンドだ。PIDではなくコマンド名を指定することで、そのコマンドが起動しているすべてのプロセスを一度に終了させることができる。

本記事ではkillallの基本的な使い方から、killコマンドとの違い、実務での活用シーンまでを解説する。

【この記事でわかること】
・killall の基本構文とコマンド名指定の仕組み
・kill コマンドとの使い分け
・シグナルを指定した強制終了の方法
・killall 使用時の注意点

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

killall コマンドとは


killallコマンドは指定したコマンド名に一致するすべてのプロセスにシグナルを送るコマンドだ。killコマンドがPIDを指定するのに対し、killallはコマンド名を指定する点が大きな違いだ。

デフォルトではSIGTERM(15)を送信して正常終了を促す。

基本的な使い方


まず現在動いているプロセスをps コマンドで確認する。

[root@Tiger system]# ps -acx PID TTY STAT TIME COMMAND 1 ? Ss 0:00 init 892 ? Ss 0:00 httpd 893 ? S 0:00 httpd 894 ? S 0:00 httpd 1023 pts/0 Ss 0:00 bash

httpdが複数のPIDで動いている。これをすべて終了させるには以下のようにする。

[root@Tiger system]# killall httpd

これでhttpdという名前のプロセスすべてにSIGTERMが送られる。

強制終了する場合


SIGTERMで終了しない場合はシグナル番号9(SIGKILL)を指定して強制終了できる。

[root@Tiger system]# killall -9 httpd

kill と killall の使い分け


コマンド指定方法対象
kill PIDPID番号指定した1プロセス
killall コマンド名コマンド名同名プロセスすべて

PIDが明確にわかっているならkill、同名プロセスをまとめて終了したいならkillallを使うと効率的だ。

killall 使用時の注意点


・自分が起動していないプロセスをkillallで終了しようとするとエラーになる(root権限が必要)
・コマンド名の指定は完全一致のため、httpdhttpd2は別々に扱われる
・ディストリビューションによってkillallの挙動やシグナル名が異なる場合がある

まとめ


コマンド例動作
killall httpdhttpdという名前のプロセスすべてにSIGTERMを送る
killall -9 httpdhttpdをSIGKILLで強制終了する
killall -l使用可能なシグナル一覧を表示する

killallは同じコマンドが複数プロセスで動いている場合に非常に便利だ。Webサーバーのリロードや停止など、実務でも頻繁に使う場面があるので使い方をしっかり押さえておこう。

Linuxのプロセス管理をもっと体系的に学びたくないですか?

コマンドの断片を覚えるだけでは、本番環境のトラブルには対応できません。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。