我正在尝试使用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,则会完全失败。
有人知道问题出在哪里吗?
发布于 2012-07-23 17:17:24
好的,我意识到一些脚本是基于在进程的主目录中运行的,所以我将start程序更新为:
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我只需在start程序中添加'cd /home/xyzprog‘,它就起作用了!我终止了这个过程,它马上就回来了。
https://stackoverflow.com/questions/11608005
复制相似问题