No.083プロセスとジョブ
killall
キルオール・名前指定シグナル送信
名前に一致する複数プロセスへ一括でシグナルを送ります。対象が広がりやすいため、killよりも慎重な確認が必要です。
答えよく使う形
注意危険度は中程度です。
$ sleep 300 &
sleep 300 &
killall -i sleep
Kill sleep(12345) ? Kill sleep(12346) ?
$ killall nginx
$ killall -s HUP nginx
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
どんなコマンド?
同名ワーカー群の一括停止、保守前のまとめて終了、確認付きの一括シグナル送信に使います。
killallは、指定した名前に一致するプロセスへ一括でシグナルを送るコマンドです。PIDを個別指定するkillより入力は短くなりますが、その分だけ意図しない対象まで含めやすい特徴があります。
実務では、同名ワーカー群をまとめて停止する、再起動前に一括終了する、といった場面で役立つことがあります。しかし、本番環境では本当にその名前の全プロセスを止めてよいのかを慎重に確認すべきです。
さらに注意すべきなのは、killallはUNIX系OSごとに意味が大きく異なることがある点です。Linux前提を明示して使うべきコマンドです。
書き方とオプション
組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。
$ killall
使用例と実行結果
行を押すとコピーできます。
Kill sleep(12345) ? Kill sleep(12346) ?
まず安全に試す
3分ミッション
手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。
0 / 1
つまずいたとき
止めたくない同名プロセスまで止まった
原因名前一致で広く対象化しました。
こうする事前にpgrep -aで確認し、必要なら-uや-iで絞ります。
別OSで全く違う意味だった
原因killallはOSごとに意味差が大きいコマンドです。
こうするLinux前提を明示し、移植性が必要ならkillやpkillを検討します。
終わったときの数(戻り値)
$ echo $?
- 0正常終了。対象へシグナル送信できました。
- 1一致するプロセスが見つからない、または送信できませんでした。
- >1不正な条件指定などで処理できませんでした。
気をつけることと入れ方
危険度は中程度です。名前一致で広く作用するため、同名の複数プロセスや想定外の派生プロセスまで止める恐れがあります。
環境による違い
Linuxのpsmisc版killallと、他のUNIX系OSのkillallは意味が大きく異なることがあります。移植性が必要な手順書では安易に使わず、Linux前提であることを明示するのが安全です。
確かめた環境2026-04-09 に確認
よくある質問
killallとpkillは何が違いますか。
どちらも名前条件で送信できますが、pkillは条件指定が柔軟で、killallは名前指定の一括送信として使われることが多いです。
本番で使ってよいですか。
慎重に対象確認したうえで使うべきです。PID個別指定のほうが安全な場面も多いです。
killall を最後まで読みました。
Linux コマンド辞典に戻る50 / 144