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

0

Eu corro um processo que às vezes falha e às vezes congela. Eu usei supervisionar para que ele reinicie automaticamente quando ele falhar. No entanto, se congelar, fique congelado até que eu esteja de volta na frente do computador. Eu gostaria de uma ferramenta que iria reiniciá-lo quando ele falhar, mas também pode ser configurado para executar periodicamente kill e restart, então se ele congelar, ele não ficará congelado mais do que um determinado período de tempo.

Qual ferramenta sugeriria?

Obrigado

    
por Guillaume Coté 25.03.2013 / 07:32

2 respostas

0

Eu tentei usar supervisionar daemontools com 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, inicio o aplicativo com um script, mas se eu colocar esse script no arquivo chamado run, quando o svc for executado, ele enviará o sinal para o script e o processo java continuará a ser executado. Eu criei uma cópia do script e modifiquei para fazer com que ela emitisse a chamada para java com todos os parâmetros e copiei isso no arquivo chamado run.

    
por Guillaume Coté 31.03.2013 / 06:17
0

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

    
por Scott Goodgame 25.03.2013 / 16:11