Назад | Перейти на главную страницу

Использование monit для процесса, который не работает в фоновом режиме / не работает как демон

Я использую montit для других процессов, которые мне нужно запустить, но у меня есть процесс, который не работает как демон, и я не могу понять, как контролировать его с помощью monit

Текущие версии monit позволяют сопоставлять строки процесса с помощью matching "string" директива вместо PID ...

check process n2n-edge
        matching "/usr/sbin/edge"
        start program = "/root/tools/edge.87.server"
        stop program = "/usr/bin/killall edge"
        if 10 restarts within 11 cycles then timeout
        if cpu usage > 95% for 11 cycles then restart

Вы можете проверить побочные продукты процесса.

Вы можете, например, отслеживать существование файла блокировки, время изменения каталога или что-то, что было изменено или создано вашим процессом.

Ты можешь использовать start-stop-daemon и использовать --make-pidfile возможность создать pidfile. Если это невозможно, вы можете напрямую проверить службу, например:

check host localhost with address 127.0.0.1
start program = "/etc/init.d/postfix start" 
stop program = "/etc/init.d/postfix stop" 
if failed port 25 protocol smtp then restart