Lembre-se de que é possível usar o Monit para gerenciar um processo que não possui um arquivo PID. Nas versões mais recentes do utilitário (que você deve ter), você pode aproveitar a diretiva matching
para verificar o nome do seu script. Se estiver em execução, tente usar o comando monit procmatch yourscriptname
, por exemplo:
# monit procmatch orca
List of processes matching pattern "orca":
------------------------------------------
/usr/bin/perl -w # -*- perl -*- /usr/local/bin/orca -d procallator.cfg
------------------------------------------
Total matches: 1
Lembre-se de que monit monitora somente a primeira ocorrência que encontrar usando o filtro procmatch.
Seu código de acompanhamento seria parecido com isto:
check process myprocessname
matching "myprocessname"
start program = "/etc/init.d/myproccessname start"
stop program = "/usr/bin/killall myprocessname"
if cpu usage > 95% for 10 cycles then restart
Veja também: monit: verifique o processo sem o pidfile