我正在尝试使用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时完全失败。
任何人都知道问题可能是什么?
答案 0 :(得分: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'添加到启动程序中并且它有效!我杀了这个过程,它又回来了。