让Ruby程序成为守护进程?

让Ruby程序成为守护进程?,ruby,daemon,Ruby,Daemon,我想写一个Ruby程序,它将始终在我的Mac上的后台(守护进程)运行 有人能给我指出正确的方向吗?这是一个对代码进行后台监控的方法。下面是一个包装现有脚本的示例 基本上可以归结为以下几点(来自特拉维斯·惠顿(Travis Whitton)的Daemonize.rb,上面的第一个链接,为我多年前编写的一些程序进行了修改): 啊,谷歌救援!退房 其中,一位有帮助的博主提供了一个编写launchd plist以启动ruby Web应用程序服务器的示例。使用Daemonize.rb require '

我想写一个Ruby程序,它将始终在我的Mac上的后台(守护进程)运行

有人能给我指出正确的方向吗?

这是一个对代码进行后台监控的方法。下面是一个包装现有脚本的示例

基本上可以归结为以下几点(来自特拉维斯·惠顿(Travis Whitton)的Daemonize.rb,上面的第一个链接,为我多年前编写的一些程序进行了修改):


啊,谷歌救援!退房

其中,一位有帮助的博主提供了一个编写launchd plist以启动ruby Web应用程序服务器的示例。

使用Daemonize.rb

require 'daemons'
Daemons.daemonize
非常简单的示例:

如何安装守护进程:

gem install daemons

Ruby 1.9.x现在具有以下功能:

Process.daemon
把它放在你的代码里,就这样


取自“

需要查看rails 3的守护进程railsgem(基于rails\u生成器):

可以像这样生成守护程序存根:

rails generate daemon <name>
rails生成守护进程
特点:

  • 每个守护进程的单个控制脚本
  • rake:每个守护进程的守护进程命令
  • 卡皮斯特拉诺友好酒店
  • 应用程序范围的控制脚本
  • 监控API
  • 可能有多个守护程序集

Mark,虽然这是适用于更多普通Unix系统的正确代码,而且它或多或少可以在Mac OS X上运行,但它确实不是正确的配方。。。我手头没有一个现成的配方,可以在launchd中注册ruby脚本,但这可能是OP应该寻找的。:-)@凯琳,说得很好。我本应该更仔细地阅读这个问题的。不幸的是,我对没有Mac电脑一点也不了解…很好的解释。这可能是一个愚蠢的问题,但是daemonize.rb文件在哪里?它是一颗宝石吗?在网上有没有我可以找到它的地方?它是标准图书馆还是什么?它是一颗宝石。您只需安装并开始使用它。如果应用程序关闭,守护进程还会运行吗?很高兴您认为它很有用!我个人喜欢launchd…其中之一是,如果它意外死亡,它可以重新启动您的进程。
rails generate daemon <name>