在超时之前Monit报告“未能停止”

我使用下面的语法通过monit启动和停止一个进程 :

stop program = "..." with timeout 90 seconds 

一切正常,除了Monit总是报告在一分钟后failed to stop

/var/log/monit.log

 [EST Nov 11 11:04:09] info : 'myprocess' stop: /bin/su [EST Nov 11 11:05:09] error : 'myprocess' failed to stop [EST Nov 11 11:05:10] info : 'myprocess' stop action done 

我显然希望等待90秒,而不是60秒。 我究竟做错了什么?

您的Monit守护进程检查间隔大概是60秒,所以检查周期在超时之前发生。

 set daemon 60 

你可以发布你的整个Monitconfiguration吗? 是否有一个原因,你需要一个90秒的超时停止进程?

默认情况下,Monit在查看进程列表时,会等待30秒以查看启动/停止命令。 你可以尝试缩短with timeout

原来这是Monit中的一个bug: https : //bitbucket.org/tildeslash/monit/issue/109/failed-to-stop-always-after-60-seconds更新到Monit> = 5.9应该可以解决这个问题。