У меня есть процесс, который я контролирую с помощью Monit. Если процесс по какой-то причине умирает, я хочу отправить уведомление Slack с помощью сценария оболочки и перезапустить его. Такое поведение, хотя и не работает с директивой «не существует». Последний выполняется и предыдущий игнорируется. Например, код ниже:Второй «Не существует» Монита первый переопределяет
check process xyz with pidfile /var/run/xyz.pid
start program = "/etc/init.d/xyz start" with timeout 60 seconds
stop program = "/etc/init.d/xyz stop"
if does not exist then restart
if does not exist then exec "/opt/somescript.sh"
Выполняет скрипт, но не перезагружается. это также похоже на документацию, что так оно и будет. Любой другой способ заставить это работать. Дополнительная документация (не совсем понятно, но напоминает реальное поведение):
If not defined, it defaults to a restart action.
You can override the default action with the following statement:
Извините, но это только опечатка с моей стороны при вводе вопроса, исправлено сейчас –
О, я вижу. Я обновил ответ, возможно, лучше всего включить перезапуск и скрипт в 1 действие. – Ulugbek
по какой-то странной причине, даже если я вызываю две команды в exec, разделенные && - она вызывает только первую. Я проверил это, изменив места, но всегда вызывается только одна команда! –