Como não recebi nenhuma resposta, concluo que, infelizmente, monit
não é bem apoiado pela comunidade e possivelmente não é muito usado.
Eu criei o seguinte script que serve ao meu propósito:
#!/bin/bash
while :
do
if ps -C python3 &> /dev/null
then :
else
sudo systemctl poweroff
fi
sleep 60
done
Aqui :
é um não operacional que retorna verdadeiro,
while :
do
...
done
é um loop infinito, python3
é o programa que estou monitorando, ps -C python3
é um comando que retorna true se python3
estiver em execução (possivelmente com qualquer parâmetro) e false caso contrário, &> /dev/null
descarta a saída de este comando (caso contrário, ele é impresso a cada minuto no terminal), sudo systemctl poweroff
é o comando que desliga o meu computador, sleep 60
coloca o script para dormir por 1 minuto.
Coloquei este código em um arquivo, denominei monitor
, tornei-o executável e o executei da seguinte maneira:
./monitor & disown
Aqui &
executa o script em segundo plano e disown
permite que o script continue sendo executado mesmo depois que o terminal do qual eu iniciei o script estiver fechado.