No.085プロセスとジョブ

pkill

ピーキル・条件一致プロセスへのシグナル送信

知識レベル 実践注意一般ユーザーで使える

プロセス名や属性で対象を絞り、まとめてシグナルを送ります。PIDを個別に調べずに操作できる反面、条件が広いと関係ない処理まで巻き込みます。

答えよく使う形

  1. 同名プロセスを複数用意します
  2. 完全一致で同名プロセスをまとめて終了できます
  3. 完全一致で名前を比較します

注意危険度は中程度です。

visitor@goodly: ~

$ sleep 300 & sleep 300 & pgrep sleep

12345
12346

$ pkill -x sleep pgrep sleep

出力なし

$ pkill -x sleep

覚える順番の中でLPIC-1・60 駅め / 106

どんなコマンド?

こんなときに

同名プロセスをまとめて扱いたい時、特定ユーザーの処理へまとめてシグナルを送りたい時、再読み込み要求を一括で出したい時に使います。

pkillは、プロセス名、実行ユーザー、親プロセス、端末などの条件に一致するプロセスへシグナルを送るコマンドです。killがPID中心の道具であるのに対し、pkillは「どの条件に一致するものへ送るか」を先に決める道具です。

実務では、同じ名前のワーカープロセスをまとめて終了する、設定再読み込みのためにHUPシグナルを送る、特定ユーザーの暴走処理を整理するといった場面で使います。

便利な反面、条件が曖昧だと意図しないプロセスまで止めてしまいます。まずpgrepで対象を確認し、その後にpkillへ進む運用が安全です。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ pkill

使用例と実行結果

行を押すとコピーできます。

12345
12346
同名プロセスを複数用意します。
出力なし
完全一致で同名プロセスをまとめて終了できます。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 1

つまずいたとき

関係ないプロセスまで止まった

原因一致条件が広すぎました。

こうするまずpgrepで一致対象を確認し、-xや-u、-fを適切に使い分けます。

狙った対象が止まらない

原因名前ではなくコマンドライン全体や別ユーザー条件で動いています。

こうするpgrep -aで実際の表示名や引数を確認します。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。処理に成功しました。
  • >0対象不存在、権限不足、不正な引数などで処理できませんでした。

気をつけることと入れ方

気をつけること

危険度は中程度です。名前だけで広く一致させると、止めるつもりのない処理まで対象になります。まずpgrepで一致対象を確認してから実行します。

環境による違い

Linuxではprocps-ng系の実装が一般的です。名前一致、完全一致、コマンドライン全体一致などの挙動差を避けるため、-xや-fを明示すると安全です。

確かめた環境2026-04-09 に確認

よくある質問

killとの違いは何ですか。

killはPID中心、pkillは名前や属性条件で対象を選ぶ道具です。

まず何を確認すべきですか。

pgrepで何件一致するか、どのPIDが対象になるかを確認してから送信するのが安全です。

資格試験では

  • LinuC レベル1大事1.01.4 プロセスの生成、監視、終了LinuCレベル1では、プロセスの選別とシグナル送信が重要です。
  • LPIC-1大事103.5 プロセスの生成、監視、終了LPIC-1では、プロセスの選択とシグナル送信の理解が求められます。
  • 共通基礎大事Linuxコマンド基礎試験横断で、pkillは実運用でも役立つ重要コマンドです。

pkill を最後まで読みました。

Linux コマンド辞典に戻る84 / 144

Goodly のメニュー