Я пытаюсь отслеживать процесс с помощью инструмента мониторинга процессов Haskell Angel. https://github.com/MichaelXavier/Ангел Процесс продолжает перезапускаться в бесконечном цикле, если он выполняется без получения какого-либо сигнала HUP.
См. ниже...
[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
Это происходит для примера приложения, а также когда я пытаюсь запустить свой веб-сервер. Вот мой файл conf (прямо из примеров)
ls {
exec = "ls"
stdout = "/tmp/ls_log"
stderr = "/tmp/ls_log"
delay = 7
}
Я предоставил ангелу +x привилегии.
Есть идеи, почему он бесконечно перезапускается?
решение1
Это сделано намеренно. После завершения ls, angel подождет 7 секунд и перезапустит его. И снова, ls завершится немедленно, а angel подождет 7 секунд перед повторением...
решение2
Можете ли вы попробовать с
ls_lala { exec = "ls" stdout = "/tmp/ls_log" stderr = "/tmp/ls_log" задержка = 7 }
Вы можете попасть в бесконечный цикл, поскольку имя вашей структуры совпадает с именем приложения, которое будет выполнено.