【发布时间】:2010-12-06 08:32:30
【问题描述】:
使用守护进程,我如何指定我的脚本日志进入 /log/ 并且它的 pid 进入 /tmp/pids/?
我已经阅读了文档,并且看到了 :dir/:dir_mode,但我只能让它做一个或另一个,而不是两者——如果你问我,这似乎是一组非常糟糕的选项。
【问题讨论】:
使用守护进程,我如何指定我的脚本日志进入 /log/ 并且它的 pid 进入 /tmp/pids/?
我已经阅读了文档,并且看到了 :dir/:dir_mode,但我只能让它做一个或另一个,而不是两者——如果你问我,这似乎是一组非常糟糕的选项。
【问题讨论】:
它看起来不像香草Daemons 可以做你想做的事,但它是可以修复的。试试这样的:
require 'rubygems'
require 'daemons'
module Daemons
class Application
def logfile; '/log/f1'; end
def output_logfile; '/log/f2'; end
end
end
Daemons.run '/tmp/test.rb',
:dir => '/tmp/pids',
:dir_mode => :normal,
:ontop => false,
:log_output => true
您可能希望 *logfile 的逻辑表现得更像原件;只需扫描 def.logfile 的守护程序源。我也宁愿修补 Application 的子类,但它在模块 Daemons 的其他地方通过名称实例化,所以这让事情变得棘手。
【讨论】: