Estoy buscando una forma estándar o una mejor práctica para mantener vivo un demonio iniciado por un init.d
script de shell.
O incluso mejor, ¿hay alguna manera de mantenerlo vivo directamente /etc/init.d
?
Específicamente, tengo un demonio llamado dtnd con un bucle infinito que busca un proceso finalizado inesperado, si hay alguno, el demonio los despierta nuevamente. Además, utilizo la herramienta start-stop-daemon para permitir que el preceso se ejecute desde un usuario del sistema dado.
Quiero ejecutar este demonio dtnd desde el inicio. Para lograr este comportamiento, creé un script init.d que "envuelve" el archivo dtnd usando los comandos de inicio, detención y estado.
Tengo 2 preguntas que me gustaría resolver:
¿Hay alguna manera de lograr mantener vivo algún proceso del script de shell init.d ? ¿Es una práctica estándar / mejor práctica?
¿Se recomienda mantener vivo un proceso con bucle infinito? Supongo que es mejor usar algún comando como
respawn
para lograr eso. ¿Es correcto?
Sé sobre la existencia del respawn
comando. Creo que eso es lo que necesito, pero no entiendo el flujo de trabajo entre /etc/init.d/
y /etc/init
. ¿Alguien puede ayudarme?
Tenga en cuenta que no tengo ni advenedizo inittab (que sólo se me permite el uso /etc/init
, /etc/init.d
, cron
y las herramientas del sistema como start-stop-daemon
. Es decir, sólo las herramientas por defecto)
¡Muchísimas gracias por su tiempo!