在monit中延迟重启进程

时间:2012-08-31 18:12:41

标签: monit

我可以修改montrc,使其不会立即重启进程。在触发重启之前,该过程必须关闭整个周期。这样我就可以保留现有的capistrano部署。

3 个答案:

答案 0 :(得分:2)

你可以使用类似的东西:

check process x with pidfile /var/run/x.pid
   every y cycles

start program = "/etc/init.d/x start" with timeout 90 seconds

答案 1 :(得分:1)

如果您只监控PID文件,我认为目前不可能这样做。但是,如果您还通过侦听端口来监视服务,则可以添加if failed port 8080 X times within Y cycles then restart子句。然后,Monit将在每个周期卷曲该端口,当失败计数在Y个周期内达到X时,它将尝试重新启动该服务。

请记住,这只会影响端口监视器。如果monit注意到PID文件消失了,它将立即尝试重新启动它。

答案 2 :(得分:0)

尝试

check process x with pidfile /var/run/x.pid
  if does not exist for 2 cycles then start

在重新启动死循环之前,这将等待至少1个完整循环。