1

私は、monitを使用してJavaプロセスを監視しようとしています。プロセスのmonitファイルは次のとおりです。

check process xyz pidfile /tmp/xyz.pid
start program = "/bin/bash -c 'source /home/.bashrc; source /home/xyzprog/setup.sh; /home/xyzprog/xyz start'"
stop program = "/bin/bash -c '/home/xyzprog/xyz stop'"

私がで始めれば、このプロセスはうまくいきます

sudo monit start xyz

しかし、デーモンモードでmonitを起動すると、完全に失敗します。

誰かが問題が何であるか知っていますか?

4

1 に答える 1

1

さて、スクリプトの一部がプロセスのホームディレクトリでの実行に基づいていることに気付いたので、開始プログラムを次のように更新します。

check process xyz pidfile /tmp/xyz.pid
start program = "cd /home/xyzprog; /bin/bash -c 'source /home/.bashrc; source /home/xyzprog/setup.sh; /home/xyzprog/xyz start'"
stop program = "/bin/bash -c '/home/xyzprog/xyz stop'"
if failed host 192.168.1.103 port 8080 protocol http with timeout 20 seconds for 1 cycle then restart

スタートプログラムに「cd/home / xyzprog」を追加するだけで、うまくいきました。私はプロセスを殺しました、そしてそれはすぐに戻ってきました。

于 2012-07-23T09:17:24.163 に答える