/etc/init.d/script, ou / etc / inittab - respawn on die

2

Eu tenho um daemon / serviço (milter-regex), que está morrendo. Eu estou apenas usando temporariamente (alguns meses), então não me importo muito, mas eu quero que ele reinicie quando ele morrer.

É um script init.d. 'service milter-regex start' etc. O script de inicialização vive em /etc/init.d/milter-regex

Eu sei que se eu tiver algo em / etc / inittab, ele irá automaticamente reaparecer se ele morrer. Os scripts init devem fazer isso também, ou eu preciso colocá-lo no inittab?

Pode não ser reiniciado, pois não está limpando um arquivo obsoleto, que vou consertar hoje, mas pensei em fazer a pergunta de qualquer maneira.

Rodando no RHEL4 (Sim, antigo)

Obrigado, Brock

    
por Brock 14.11.2012 / 22:59

2 respostas

1

Os scripts no init.d não são executados automaticamente quando o serviço falha. Se você quiser fazer o mínimo de trabalho para garantir que ele seja executado, o inittab pode ser sua melhor aposta. É nojento, quase tão nojento quanto ainda rodando o RHEL 4.

    
por 14.11.2012 / 23:01
2

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

    
por 17.03.2014 / 21:44