如何从Ruby启动和停止shell守护进程

Ste*_*ion 8 ruby

我如何启动shell守护进程然后在同一个Ruby脚本中停止它?

更具体地说,我希望我的Ruby脚本能够:

  • 使用shell命令(rails server| shotgun| etc ...)启动服务器守护程序.
  • 在服务器运行时做一些事情.
  • 让服务器退出.

所有包含在ruby 1.8/1.9和unix/windows中支持的解决方案都是首选.(我读过fork,例如在Windows上不起作用).

Pet*_*ter 3

我强烈推荐Ruby Daemons gem。我认为它具有您需要的所有功能。

检查其 README 的第 3 部分,并特别注意Daemons.call方法,该方法允许守护任意代码(其中您可以只是Kernel.system一个应用程序)。