我正在使用 montit 来运行我需要运行的其他进程,但我有一个进程不作为守护进程运行,我不知道如何使用 monit 来监视它
答案1
matching "string"
monit 的当前版本允许您使用指令而不是 PID 来匹配进程字符串...
check process n2n-edge
matching "/usr/sbin/edge"
start program = "/root/tools/edge.87.server"
stop program = "/usr/bin/killall edge"
if 10 restarts within 11 cycles then timeout
if cpu usage > 95% for 11 cycles then restart
答案2
您可以检查该过程的副产品。
例如,您可以监视锁文件的存在、目录的修改时间或您的进程修改或创建的内容。
答案3
您可以使用start-stop-daemon
并使用--make-pidfile
选项来创建 pidfile。如果这不可能,您可以直接检查服务,例如:
check host localhost with address 127.0.0.1
start program = "/etc/init.d/postfix start"
stop program = "/etc/init.d/postfix stop"
if failed port 25 protocol smtp then restart