我正在尝试在多个守护进程中运行相同的脚本。
myapp.rb
看起来像这样:
loop do
sleep 5
1 / 0 # crash it
end
我的myapp_controller.rb
:
require 'rubygems'
require 'daemons'
options = {
:log_output => true,
:backtrace => true,
:monitor => true,
:multiple => true,
:log_dir => '/mnt/log/',
:hard_exit => true
}
Daemons.run(File.join(File.dirname(__FILE__), 'myapp.rb'), options)
当我ruby myapp_controller.rb start
连续运行几次时,它会创建很多守护进程,正如我所期望的那样。但是,过了一会儿,由于myapp.rb
守护进程中的错误崩溃并且监视器仅重新启动一个而不是全部。所以我最终得到了一个正在运行的守护进程。
为什么?我究竟做错了什么?