6
所以Ruby的守護進程gem讓你在啓動你的進程時設置。什麼是監視器,你用它做了什麼?你所要做的只是指定true
或false
...是在某處創建一個日誌文件?一些實際監控流程的東西,比如god
?爲什麼關於這件事情如此可怕的文檔?Ruby守護進程 - 什麼是監視器,它是如何工作的?
或者這實際上是每個人都應該知道的Unix事情嗎? :)
所以Ruby的守護進程gem讓你在啓動你的進程時設置。什麼是監視器,你用它做了什麼?你所要做的只是指定true
或false
...是在某處創建一個日誌文件?一些實際監控流程的東西,比如god
?爲什麼關於這件事情如此可怕的文檔?Ruby守護進程 - 什麼是監視器,它是如何工作的?
或者這實際上是每個人都應該知道的Unix事情嗎? :)
:監控:監視程序並重新啓動崩潰的情況。
看起來它設置了一個PID文件(即,文件保持守護進程的進程ID)來跟蹤守護程序;如果守護程序因某種原因崩潰,監視器將重新啓動它。
你必須問作者爲什麼他們的文檔是如此稀疏;儘管如此,源代碼看起來足夠清晰。我認爲任何建立了守護進程的人都會熟悉監視和重新啓動它們的概念。
呵呵,看起來它有一些不斷運行的輔助進程並檢查PID是否仍然存在。如果不是,它(輔助進程)啓動後臺進程。謝謝! – 2011-02-26 05:18:29
@Rob Cameron:是的,差不多。這種事情對後臺任務來說很常見,OSX的launchd(http://en.wikipedia.org/wiki/Launchd)具有類似的「監視和重啓」邏輯。 – 2011-02-26 05:25:33