Я начинаю и останавливаюсь процесс через monit со следующим синтаксисом:
stop program = "..." with timeout 90 seconds
Все работает хорошо, кроме того, что Монит всегда сообщает 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: https://bitbucket.org/tildeslash/monit/issue/109/failed-to-stop-always-after-60-seconds Обновление до Monit> = 5.9 должно решить проблему.
Интервал проверки вашего демона Monit составляет, вероятно, 60 секунд, поэтому цикл проверки выполняется до вашего тайм-аута.
set daemon 60
Можете ли вы опубликовать всю свою конфигурацию Monit? Есть ли причина, по которой вам нужен 90-секундный тайм-аут, чтобы остановить процесс?
По умолчанию Monit ожидает 30 секунд команд запуска / остановки, когда просматривает список процессов. Можешь попробовать короче with timeout
?