Monitoramento de processos com Haskell angel

Monitoramento de processos com Haskell angel

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.

informação relacionada