Como supervisionar um processo e agendar uma reinicialização periódica?

Como supervisionar um processo e agendar uma reinicialização periódica?

Eu executo um processo que às vezes trava e às vezes congela. Usei supervisionar para que ele reiniciasse automaticamente quando travasse. No entanto, se congelar, permanecerá congelado até eu voltar à frente do computador. Eu gostaria de uma ferramenta que o reiniciasse quando ele travasse, mas também pudesse ser configurada para matar e reiniciar periodicamente, de modo que, se ele congelar, não permanecerá congelado por mais de um determinado período de tempo.

Qual ferramenta quem sugeriria?

Obrigado

Responder1

Você poderia usar o cron para fazer isso se quiser ...

sudo crontab -e

* /5 * * * pkill -9 <your process name here> ; <your process name here>

Mataria e reiniciaria a cada 5 horas. Mais exemplos...Exemplos de Cron

Responder2

Eu tentei usar supervisionar deDaemon Toolscom um crontab:

Primeiro, começo com

supervise /fullpath

e eu uso este crontab:

0 23 * * * svc -d /fullpath
2 23 * * * svc -k /fullpath
5 23 * * * svc -u /fullpath

Onde fullpath é o diretório que contém o arquivo chamado run que inicia meu processo. A parte complicada é que o arquivo chamado deve terminar com:

exec java ...

Normalmente eu inicio a aplicação com um script, mas se eu colocar esse script no arquivo chamado run, quando o svc é executado, ele envia o sinal para o script e o processo java continua rodando. Criei uma cópia do script e modifiquei-o para que ele gerasse a chamada para java com todos os parâmetros e copiei isso no arquivo chamado run.

informação relacionada