Tengo un programa golang que quiero reiniciar después de que termina en un cuadro de Debian Squeeze. La cosa es servir HTTP detrás de una configuración mod_proxy de Apache 2. No espero que el proceso falle, pero me gustaría tener un seguro contra él.
En Ubuntu, habría utilizado el arranque para mantener vivo el proceso. Debian no le gusta Upstart por lo que entiendo, ya que es un reemplazo de inicio.
¿Existe una alternativa que reinicie uno o más procesos después de que finalicen que funcione en Squeeze y que funcione bien con init?
debian
init.d
debian-squeeze
Eliminado
fuente
fuente
Respuestas:
La mejor manera de hacerlo son los
daemontools
. Le permiten monitorear y reaparecer procesos.Consulte la documentación en su sitio web: http://cr.yp.to/daemontools.html
fuente
supervisar es una alternativa ligera y eficiente. Bajo debian está empaquetado en daemontools . También puede leer esta pregunta relacionada , que enumera algunas críticas de supervisión y menciona reiniciar como otra posibilidad.
Finalmente, si quieres algo increíblemente fácil de configurar, he tenido un gran éxito con monit . También está empaquetado en Debian .
fuente
supervisar o monitorear son buenos para mantener vivo un solo proceso. Como usted solicita mantener vivos "uno o más" procesos, me gustaría conectar a la supervisión . Sin duda, es excesivo manejar un solo proceso, pero si necesita realizar un seguimiento de varios procesos, puede ser lo suyo.
fuente
Una opción es usar en
/etc/inittab
lugar de poner su script/etc/init.d/
.Simplemente agregue una entrada en el siguiente formato:
<jobname>:<runlevels>:respawn:<command>
Desafortunadamente, esto significa que no puede usar los comandos de inicio normales de inicio / detención / reinicio, pero debe garantizar que su script se ejecute todo el tiempo.
fuente
La forma de distribución cruzada de reiniciar el proceso de manejo es con cron y un script simple. Puede ver una reseña aquí Cómo mantener un trabajo en ejecución en Linux
El guión se parece a algo
fuente