Ich versuche, einen Prozess mit dem Prozessüberwachungstool Angel von Haskell zu überwachen. https://github.com/MichaelXavier/Angel Der Vorgang wird in einer Endlosschleife neu gestartet, wenn er ausgeführt wird, ohne dass ein HUP-Signal empfangen wird.
Siehe unten...
[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
Dies geschieht sowohl für die Beispiel-App als auch, wenn ich versuche, meinen Webserver auszuführen. Hier ist meine Conf-Datei (direkt aus den Beispielen)
ls {
exec = "ls"
stdout = "/tmp/ls_log"
stderr = "/tmp/ls_log"
delay = 7
}
Ich habe Angel +x-Privilegien erteilt.
Irgendwelche Ideen, warum es immer wieder unendlich neu startet?
Antwort1
Dies ist beabsichtigt. Sobald ls fertig ist, wartet Angel 7 Sekunden und startet es neu. Auch hier wird ls sofort fertig und Angel wartet 7 Sekunden, bevor es wiederholt wird ...
Antwort2
Können Sie versuchen mit
ls_lala { exec = "ls" stdout = "/tmp/ls_log" stderr = "/tmp/ls_log" Verzögerung = 7 }
Sie geraten möglicherweise in eine Endlosschleife, weil Ihr Strukturname mit dem Namen der auszuführenden App identisch ist.