Processo de reinicialização automática em caso de falha

Processo de reinicialização automática em caso de falha

Eu tenho um processo de servidor Java que executa código nativo e a possibilidade de todo o processo travar devido a um problema no código nativo está sempre presente. Existe algum mecanismo oferecido pelos sistemas operacionais *nix em que eu possa fazer o processo reaparecer quando existir de forma anormal (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?

Responder1

Existem algumas opções - você sempre pode 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.

Responder2

O que você procura geralmente é chamado de monitoramento de processos ousupervisão de processo. Existem muitas ferramentas que fazem isso, geralmente como parte de um conjunto variado de recursos.Subir na vidaé cada vez mais usado para serviços de sistema no mundo Linux.Monitoraré a primeira coisa que eu tentaria para um programa não iniciado pelo root, mas existem muitas alternativas.

informação relacionada