Eu tive que resolver um problema muito similar para o RHEL6. (Além disso, havia não apenas um comando, mas um conjunto de comandos.) Como eu queria ficar com os scripts /etc/init.d
, escrevi uma pequena ferramenta pipexec
: isso reinicia o filho se ele é encerrado e pode ser facilmente integrado aos scripts /etc/init.d
, porque, por exemplo, também suporta manipulação de arquivos pid.
Exemplo:
$ pipexec -p /var/run/whatsoever.pid -s 5 -- /opt/bin/whatsoever
Cria um arquivo pid, executa /opt/bin/whatsoever
. Quando o whatsoever
é anormalmente terminado (por exemplo, por um sinal), pipexec
aguarda 5 segundos e reinicia-o.
Atenciosamente - Andreas