Estoy intentando monitorear un proceso con la herramienta de monitoreo de procesos ángel de Haskell. https://github.com/MichaelXavier/Angel El proceso continúa reiniciándose en un bucle infinito cuando se ejecuta sin recibir ningún tipo de señal HUP.
Vea abajo...
[2013/12/18 22:25:15] {- program: ls -} RESTART
[2013/12/18 22:25:15] {- program: ls -} START
[2013/12/18 22:25:15] {- program: ls -} Spawning process with env Just []
[2013/12/18 22:25:15] {- program: ls -} RUNNING
[2013/12/18 22:25:15] {- program: ls -} ENDED
[2013/12/18 22:25:15] {- program: ls -} WAITING
[2013/12/18 22:25:22] {- program: ls -} RESTART
[2013/12/18 22:25:22] {- program: ls -} START
[2013/12/18 22:25:22] {- program: ls -} Spawning process with env Just []
[2013/12/18 22:25:22] {- program: ls -} RUNNING
[2013/12/18 22:25:22] {- program: ls -} ENDED
[2013/12/18 22:25:22] {- program: ls -} WAITING
[2013/12/18 22:25:29] {- program: ls -} RESTART
[2013/12/18 22:25:29] {- program: ls -} START
[2013/12/18 22:25:29] {- program: ls -} Spawning process with env Just []
... etc
Hace esto para la aplicación de ejemplo y también cuando intento ejecutar mi servidor web. Aquí está mi archivo de configuración (directamente de los ejemplos)
ls {
exec = "ls"
stdout = "/tmp/ls_log"
stderr = "/tmp/ls_log"
delay = 7
}
Le he dado privilegios a angel +x.
¿Alguna idea de por qué se sigue reiniciando infinitamente?
Respuesta1
Esto es por diseño. Una vez que ls termine, angel esperará 7 segundos y lo reiniciará. Una vez más, ls terminará inmediatamente y angel esperará 7 segundos antes de repetir...
Respuesta2
¿Puedes probar con
ls_lala { exec = "ls" stdout = "/tmp/ls_log" stderr = "/tmp/ls_log" retraso = 7 }
Puede entrar en un bucle infinito porque el nombre de su estructura es el mismo que el de la aplicación que se ejecutará.