我可以修改 montrc 使其不会立即重新启动进程。在触发重新启动之前,该过程必须关闭一个完整的周期。这样我就可以保留现有的 capistrano 部署。
问问题
3166 次
3 回答
2
你可以使用类似的东西:
check process x with pidfile /var/run/x.pid
every y cycles
或者
start program = "/etc/init.d/x start" with timeout 90 seconds
于 2015-02-26T05:43:00.877 回答
1
如果您仅监视 PID 文件,我认为目前无法做到这一点。但是,如果您还通过侦听端口来监视服务,则可以添加一个if failed port 8080 X times within Y cycles then restart
子句。然后,Monit 将在每个周期卷曲该端口,并且当故障计数在 Y 个周期内达到 X 时,它将尝试重新启动服务。
请记住,这只影响端口监视器。如果 monit 发现 PID 文件消失了,它会立即尝试重新启动它。
于 2013-02-02T05:52:37.150 回答
0
尝试
check process x with pidfile /var/run/x.pid
if does not exist for 2 cycles then start
这将在重新启动死进程之前等待至少 1 个完整周期。
于 2015-10-30T15:03:27.683 回答