CentOS 7を使用しています。スクリプト変数からプロセスの「デフォルトPID」を取得しようとしています。これは私のスクリプトです。
#!/bin/sh
set -e
PID="$APP_ROOT/shared/pids/puma.pid"
echo "before ..."
MASTER_PID=`pgrep -f '^([^ ]*/)?puma '`
echo "after ..."
xxx
ただし、「after...」という単語は印刷されません。この行には何かがあります。
MASTER_PID=`pgrep -f '^([^ ]*/)?puma '`
これにより、特に実行中のプーマプロセスがない場合、状況が正しく機能しない可能性があります。デフォルトのPIDをキャプチャできるように上記の内容をオーバーライドするか、少なくとも存在しない場合は、次の行に実行を渡すことを許可する方法を知っていますか?
ベストアンサー1
を保存するには、set -e
次の手順を実行してpgrepが失敗するのを防ぎます。
MASTER_PID=`pgrep -f '^([^ ]*/)?puma ' || true`