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.
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?
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.