Processo de reinicialização automática em falha [duplicado]

7

Eu tenho um processo de servidor Java que executa código nativo e a possibilidade de todo o processo falhar devido a um problema no código nativo está sempre lá. Existe algum mecanismo oferecido pelos sistemas operacionais * nix em que eu posso fazer o processo re-gerar sozinho quando existe anormalmente (status de saída! = 0)?

Existe alguma ferramenta / utilitário que possa automatizar essa tarefa para qualquer tipo de processo, fornecendo um certo nível de controle / configuração ao mesmo tempo?

    
por sasuke 18.12.2010 / 18:09

2 respostas

13

Existem algumas opções - você pode sempre envolvê-lo em um script de shell curto como este: -

#!/bin/sh

RC=1
while [ $RC -ne 0 ]; do
   ./my-java-app
   RC=$?
done

Longe de ser elegante, mas pode ser suficiente.

    
por 18.12.2010 / 18:29
5

O que você está procurando normalmente é chamado de monitoramento de processos ou supervisão de processos . Existem muitas ferramentas que fazem isso, geralmente como parte de um conjunto variado de recursos. O Upstart é cada vez mais utilizado para serviços de sistema no mundo Linux. Monit é a primeira coisa que eu tentaria para um programa não iniciado pelo root, mas existem muitas alternativas.

    
por 19.12.2010 / 01:15