daemons
我正在尝试使用gem启动和停止无限循环守护程序。
查看主页,我尝试了(在 irb 中):
require 'daemons'
=>true
task_handle = Daemons.call do
loop{
sleep 10
puts "foo"
}
end
=> #<Daemons::Application:0x000000043f96d0 ...
task_handle.stop
=> nil
task_handle2 = Daemons.call do
loop{
sleep 10
puts "bar"
}
end
=>Daemons::RuntimeException: there is already one or more instance(s) of the program running
from /home/bdares/.rvm/gems/ruby-1.9.3-p194/gems/daemons-1.1.9/lib/daemons/application_group.rb:125:in `new_application'
from /home/bdares/.rvm/gems/ruby-1.9.3-p194/gems/daemons-1.1.9/lib/daemons.rb:251:in `call'
from (irb):21
现在,我正在查看的确切示例(链接页面上的#3)使用 option 进行第一次调用:multiple => true
,但我真的只需要一次运行一个守护进程(事实上,多个守护进程是不可取的)。
第一个守护进程是否仍然存在并且没有被 GC 处理?如果是这样,我错过了什么?