103.5標準
comm名がworkerと完全一致する全プロセスへSIGTERMを送る。
worker-helperは対象外にし、procps-ngのpkillを使う。
適切なコマンドはどれか。
× 不正解
pkillは名前などの条件に一致するプロセスへシグナルを送る。-xで完全一致にし、-TERMで終了要求を明示する。
詳細解説
誤り
pgrep -x workerPIDを表示するだけでシグナルを送らない。
検索結果を表示するだけである。
誤り
pkill -KILL worker部分一致かつSIGKILLとなり、要件より強い。
強制終了かつ部分一致で要件と異なる。
正しい
pkill -TERM -x worker完全一致するプロセス名を選び、SIGTERMを送る。
正解。完全一致の対象へTERMを送る。
誤り
kill -TERM workerkillは通常PIDまたはジョブ指定を受け、名前workerを検索しない。
名前検索を行わない。
実際に確かめる
一時的な検証環境で実行できる例です。
bash -c 'exec -a kp-worker sleep 0.2' & TASK_PID=$!; kill -TERM "$TASK_PID"; wait "$TASK_PID" 2>/dev/null || true期待される結果
出力なし。検証では安全のため既知PIDだけを終了理解のポイント
- pkillは検索と送信を行う
- -xは完全一致
- TERMは終了要求
確認時の注意
- 確認環境: procps-ng 4.x
- 検証ではpkillによる名前検索終了を行わず、作成した既知PIDだけをkillする。
基礎のおさらい
対象確認
広いパターンは複数プロセスへ影響するため、事前に同条件のpgrepで確認すると安全性が上がる。
シグナル選択
まずTERMで正常終了を求め、応答しない場合に原因を確認してからKILLを検討する。
問題IDKP-103-088
確認環境procps-ng 4.x
最終技術確認2026-08-12
誤り・権利侵害を報告