1

我正在尝试使用 monit 来监视 java 进程。该进程的监控文件如下:

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 回答