Estou tentando monitorar um processo com a ferramenta de monitoramento de processos angel do Haskell. https://github.com/MichaelXavier/Angel O processo continua a reiniciar em um loop infinito quando é executado sem receber qualquer tipo de sinal HUP.
Veja abaixo...
[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
Isso é feito para o aplicativo de exemplo e também quando tento executar meu servidor web. Aqui está meu arquivo conf (direto dos exemplos)
ls {
exec = "ls"
stdout = "/tmp/ls_log"
stderr = "/tmp/ls_log"
delay = 7
}
Eu dei privilégios ao anjo +x.
Alguma idéia de por que ele continua reiniciando infinitamente?
Responder1
Isso ocorre intencionalmente. Assim que ls terminar, o angel irá esperar 7 segundos e reiniciá-lo. Mais uma vez, ls terminará imediatamente e angel esperará 7 segundos antes de repetir...
Responder2
Você pode tentar com
ls_lala { exec = "ls" stdout = "/tmp/ls_log" stderr = "/tmp/ls_log" atraso = 7 }
Você pode entrar em loop infinito porque o nome da sua estrutura é o mesmo do aplicativo a ser executado.