使用 monit 来处理不作为后台进程或守护进程运行的进程

使用 monit 来处理不作为后台进程或守护进程运行的进程

我正在使用 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

相关内容