2011-02-26 46 views
6

所以Ruby的守护进程gem让你在启动你的进程时设置​​。什么是监视器,你用它做了什么?你所要做的只是指定truefalse ...是在某处创建一个日志文件?一些实际监控流程的东西,比如god?为什么关于这件事情如此可怕的文档?Ruby守护进程 - 什么是监视器,它是如何工作的?

或者这实际上是每个人都应该知道的Unix事情吗? :)

回答

5

fine manual

:监控:监视程序并重新启动崩溃的情况。

看起来它设置了一个PID文件(即,文件保持守护进程的进程ID)来跟踪守护程序;如果守护程序因某种原因崩溃,监视器将重新启动它。

你必须问作者为什么他们的文档是如此稀疏;尽管如此,源代码看起来足够清晰。我认为任何建立了守护进程的人都会熟悉监视和重新启动它们的概念。

+0

呵呵,看起来它有一些不断运行的辅助进程并检查PID是否仍然存在。如果不是,它(辅助进程)启动后台进程。谢谢! – 2011-02-26 05:18:29

+0

@Rob Cameron:是的,差不多。这种事情对后台任务来说很常见,OSX的launchd(http://en.wikipedia.org/wiki/Launchd)具有类似的“监视和重启”逻辑。 – 2011-02-26 05:25:33