103.5標準
実行中プロセスからcomm名がworkerと完全一致するものを探す。
worker-helperのようにworkerを一部に含む別名は除外し、PIDを表示する。
適切なコマンドはどれか。
× 不正解
pgrepはプロセス属性をパターン検索してPIDを出力する。-xを付けると名前全体の完全一致になる。
詳細解説
誤り
pgrep workerパターンが部分一致し、worker-helperも対象になり得る。
部分一致で余分な名前を含み得る。
正しい
pgrep -x worker-xによりプロセス名全体がworkerに一致するものだけを選ぶ。
正解。workerだけに完全一致するPIDを出す。
誤り
pkill -x worker検索結果表示ではなく、一致プロセスへシグナルを送る。
一致対象へシグナルを送る。
誤り
ps -p worker-pは数値PIDを受けるため、プロセス名検索にならない。
名前ではなく数値PIDを受ける。
実際に確かめる
一時的な検証環境で実行できる例です。
pgrep -x bash | head -n 1期待される結果
実行中のbashが存在する場合、そのPIDを1つ表示理解のポイント
- pgrepはPIDを検索
- -xは完全一致
- 既定パターンは部分一致可能
確認時の注意
- 確認環境: procps-ng 4.x
基礎のおさらい
終了状態
一致があれば通常0、一致がなければ1を返すためスクリプト条件にも使える。
完全なコマンドライン
既定はcomm名を対象とする。-fを使うと完全なコマンドラインを対象にする。
問題IDKP-103-087
確認環境procps-ng 4.x
最終技術確認2026-08-12
誤り・権利侵害を報告