0

作成したカスタム デーモンを監視するために monit を取得しようとしていますが、bash の停止/開始スクリプトでは機能しません。コマンドラインから手動で停止/開始スクリプトを実行すると、毎回 100% 完璧に動作します。monit を介して実行される場合、変数は空です。問題が発生しているスクリプトから抽出します。

GETPID=$(ps aux | grep unicorn | grep master | cut -d" " -f7)
echo "getPID : $GETPID"                                             
echo $GETPID > $PIDFILE

$GETPIDこれがmonitで実行されると、変数は空白になります。手でそれは完全に動作します。

誰にもアイデアはありますか?

4

2 に答える 2

0

ps一般に、 orの出力を解析することはあまり良い考えではありませんls

ファイルシステムで簡単なpgrepusing をfind書くことができます:proc

# find /proc/ -maxdepth 2 -type l -name exe -lname '/bin/bash' -printf '%h\n' 2>/dev/null | sed 's/.*\///'
3580
3595
9504
9869
10054
10156
10193
# pgrep bash
3580
3595
9504
9869
10054
10156
10193
于 2012-08-23T13:07:00.533 に答える
0

助けてくれてありがとう。問題は、rvm インストールでのユニコーンへのパスでした。

于 2012-08-24T08:04:37.743 に答える