2025/05/27 ------ RHEL9のLinuxマシンで、次のような動作をする/bin/shスクリプトを作成してください。 ・実行ユーザー名がautoで、実行プログラム名がevnttmrであるプロセスのプロセスIDを取得する。 ・該当するプロセスがなければ、echoコマンドでエラーメッセージを出力し、終了ステータス1で終了する。 ・該当するプロセスがあれば、そのプロセスIDに対してkillコマンドを発行し、3秒sleepし、終了ステータス0で終了する。 ------ #!/bin/sh TARGET_USER="auto" TARGET_CMD="evnttmr" PID=$(ps -u "$TARGET_USER" -o pid=,comm= | awk -v cmd="$TARGET_CMD" '$2 == cmd { print $1 }') if [ -z "$PID" ]; then echo "Error: not found '$TARGET_CMD' process by '$TARGET_USER'." exit 1 fi kill "$PID" sleep 3 exit 0 # end. ------ 例 rootで動くプロセスで確認してみると… PID=$(ps -u "root" -o pid=,comm= | awk -v cmd="auditd" '$2 == cmd { print $1 }') echo $PID 当たっている。 PID=$(ps -u "root" -o pid=,comm= | awk -v cmd="crond" '$2 == cmd { print $1 }') echo $PID 当たっている。 ------