que linux linux-kernel busybox watchdog

que - cómo usar el software de linux watchdog



watchdog linux que es (9)

¿Qué hay de usar cron? Configurar un pequeño trabajo cron que se ejecuta cada minuto. Verifique si su aplicación está arriba (usando ps) y si no, reiníciela.

Haz un pequeño guión como este:

#!/bin/bash if [ ! "$(pidof myapp)" ] then /path/to/myapp & fi

Se prueba si "myapp" está en la lista de procesos. "!" invierte la prueba. Si no está allí, ejecuta "myapp". "&" es solo para que comience en el fondo.

Agregue esto a cron. Dependiendo de su sistema y preferencias hay varias maneras de hacerlo. El clásico es usar crontab. Hay mucha documentación sobre cómo especificar su línea crontab, pero probablemente quiera algo como esto:

* * * * * /path/to/the/script.sh > /dev/null

Esto ejecutará tu prueba cada minuto de cada hora de cada ... Tienes la idea.

Hola, ¿alguien puede decirme cómo manejar el controlador de vigilancia del software en Linux? Tengo un programa "SampleApplication" que se ejecuta continuamente y necesito reiniciarlo si se cuelga o se cierra inesperadamente.

Estaba buscando en Google sobre esto y descubrí que Linux tiene un perro guardián en / dev / watchdog pero no sé cómo usarlo. Podría ayudarme alguien con el ejemplo.

Mi pregunta es dónde debo especificar el nombre de mi aplicación y el intervalo de retraso para reiniciar. Como soy nuevo en Linux, por favor, infórmeme con una muestra si es posible. Gracias


La documentación para el perro guardián está aquí: http://linux.die.net/man/8/watchdog

Pero parece que esto no es lo que quieres. El watchdog del software de Linux reiniciará la máquina, no solo reiniciará el proceso.

Usted puede hacer fácilmente su propio perro guardián. Por ejemplo, puede hacer que su programa escriba periódicamente algún archivo temporal, e inicie una secuencia de comandos que verifique el archivo de vez en cuando y reinicie su proceso si no se ha actualizado durante algún tiempo.


Puede probar wdog, que es una utilidad escrita en c ++ y que se vincula con el marco Kahless_9. El código fuente para esto se puede descargar desde: https://github.com/zepher999/wdog y, por consiguiente, se puede actualizar para satisfacer sus propias necesidades. Todavía hay algunos cambios de la lista de TODO requeridos para el futuro, pero como es esto debe satisfacer sus requisitos actuales.

La utilidad requiere un archivo csv como entrada en el que están contenidos todos los procesos que deben observarse con sus argumentos. Al iniciarse, la utilidad inicia todos estos procesos designados en el archivo csv y los supervisa para su salida / terminación con lo cual se reinicia el proceso.

Actualmente, wdog permite detener / eliminar procesos monitoreados, así como la posibilidad de iniciar la utilidad en modo frío o caliente. El modo en caliente permite que la utilidad use registros en caché para monitorear los procesos ya iniciados, mientras que el inicio en modo en frío descarta dichos valores en caché, por lo que intenta iniciar todos los procesos.

La utilidad también tiene la capacidad de lanzar una instancia de sí mismo para monitorearse, por lo que tiene un perro guardián para el perro guardián.


Puede usar la utilidad "Monit" para reiniciar y monitorear sus servicios. Simplemente instale emitiendo el comando `" apt-get install monit ".


Si alguien ha llegado a esta página en busca de un perro guardián del sistema operativo (que no es directamente lo que desea el OP), esto es lo que necesita:

sudo apt-get install watchdog service watchdog status service watchdog start

Para comprobar que funciona, ejecute:

tail -f /var/log/syslog | grep watchdog

Deberías ver algo como:

Jul 25 22:03:35 nuc watchdog[14229]: still alive after 733 interval(s) Jul 25 22:03:36 nuc watchdog[14229]: still alive after 734 interval(s) Jul 25 22:03:36 nuc watchdog[14229]: still alive after 735 interval(s) Jul 25 22:03:37 nuc watchdog[14229]: still alive after 736 interval(s) Jul 25 22:03:37 nuc watchdog[14229]: still alive after 737 interval(s)

Espero que esté respondiendo la pregunta correctamente. Todas las otras respuestas parecen ser muy diferentes.


Si está usando systemd, hay 2 watchdogs: uno para hardware (usando systemd.conf o usando un demonio de watchdog) y uno para daemons inicializados como servicios. Si systemd es su opción, eche un vistazo a lo siguiente: http://0pointer.de/blog/projects/watchdog.html


Use /etc/inittab puede utilizarlo para comenzar en los niveles de ejecución específicos y, si se cancela, se reiniciará automáticamente.

n:2345:respawn:/path/to/app

Esto hará que reaparezca en los niveles de ejecución 2345, probablemente solo necesite 3 y 5, pero esto funcionará bien y está integrado en Linux.


Ya que los moderadores ignoran las mejoras posteriores ahora tendré que publicarlo por separado

El watchdog del software de Linux reiniciará la máquina, no solo reiniciará el proceso.

Bueno, esto simplemente no es cierto, es muy posible reiniciar uno o varios procesos después de que el perro guardián indique que los sistemas están bloqueados; incluso puede ABORTAR el reinicio o hacer un reinicio SOFT, uno es capaz de configurar "probar" y " reparación "-scriptos / binarios que hacen lo que usted quiere que hagan. La versión de watchbox de busybox se reduce a un nivel casi inutilizable ... supongo que el mundo nunca sabrá por qué decidieron abandonar las funcionalidades primarias el mundo de busybox. Por ahora, sería mejor evitar el "busybox". > las mejoras de velocidad son casi inexistentes, la disminución de tamaño no compensa la enorme pérdida de funcionalidad. / bin / bash es bastante pequeño: vuelva a compilar todo con la bandera "-Os" si el tamaño importa y está listo para comenzar: un perro guardián listo para usar que permite casi todo lo que pueda desear.

Ah, y POR FAVOR, NO cree su propio perro guardián, eso probablemente lo dejará con errores no controlados y hará que su vida sea mala algún día.


La mayoría de los programas de init Unix / Linux administrarán los demonios por usted y los reiniciarán. Considere colocar su servicio en /etc/inittab . O puede que estés usando Upstart o systemd .

Todos estos programas se ejecutan como PID 1 y es su trabajo monitorear y reiniciar los procesos del sistema.

Desde su etiqueta Busybox supongo que está ejecutando un sistema integrado. En esos, los scripts de inicio de estilo de System V con todos sus scripts de shell son realmente excesivos. Probablemente debería eliminar todo eso y reemplazarlo con entradas en los trabajos /etc/inittab o upstart o systemd.