使用 Haskell Angel 進行流程監控

使用 Haskell Angel 進行流程監控

我正在嘗試使用 haskell 的天使進程監控工具來監控進程。 https://github.com/MichaelXavier/Angel 當該進程在未接收任何類型的 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
}

我已經給了angel+x權限。

關於為什麼它不斷重新啟動有什麼想法嗎?

答案1

這是設計使然。 ls 完成後,angel 將等待 7 秒並重新啟動。再一次,ls 將立即完成,angel 將等待 7 秒然後重複...

答案2

你能嘗試嗎

ls_lala { exec = "ls" stdout = "/tmp/ls_log" stderr = "/tmp/ls_log" 延遲 = 7 }

您可能會進入無限循環,因為您的結構名稱與要執行的應用程式相同。

相關內容