daemontools é realmente bem comprovado; a licença não é mais problemática, eu não acho.
E o seu FAQ compara com o inittab, sobre o qual você perguntou.
Estou pesquisando diferentes serviços que ajudam a manter processos em funcionamento (reinicialização automática em caso de falha). Quais você prefere e quais são seus elogios / sugestões? Aqui estão alguns métodos que encontrei:
Pessoalmente, eu tive uma experiência ruim com monit não reaproveitamento de processos corretamente, então eu tenho que recomendar contra ele. Atualmente estou usando daemontools e está funcionando muito bem até agora.
daemontools é realmente bem comprovado; a licença não é mais problemática, eu não acho.
E o seu FAQ compara com o inittab, sobre o qual você perguntou.
Se você quiser simples, eu vou com runit . Ele irá reiniciar o serviço uma vez por segundo até que ele esteja consistentemente ativo, pode substituir os scripts em /etc/init.d com um pouco de trabalho prático e ter um tratamento consistente em todas as direções.
A única falha que eu tenho é descobrir serviços únicos (serviços que "iniciam" mas na verdade saem enquanto deixam um sinal de que estão "rodando", por exemplo, /etc/init.d/networking
não é realmente um serviço, mas age como um), há um pouco de mão-de-pau que vai com isso para obter esse comportamento. A maioria das pessoas introduz uma ferramenta secundária para suspender o script de execução, ou loop infinito com um sleep
, etc., para que ele não saia do script. Quando você emite sv stop <service>
então TERMINA o shell e tudo continua "como normal".
launchd resolve esse problema e muito mais. De acordo com o artigo da wikipedia :
The launchd daemon is essentially a replacement for init, rc, the init.d and rc.d scripts, SystemStarter (Mac OS X), inetd and xinetd, atd, crond and watchdogd.
É prolífico no mundo mac, mas é open source e não há razão para você não poder usá-lo no linux. O Ubuntu considerou usá-lo, mas a licença era incompatível na época (desde então, ele foi alterado para a licença Apache).
O Quagga routing suite tem o watchquagga, que é adaptado às necessidades da suíte. Não tenho certeza se ele pode ser usado com qualquer daemon genérico.
Tags process monitoring init