5

使用守护进程,我如何指定我的脚本的日志进入 /log/ 并且它的 pid 进入 /tmp/pids/?

我已经阅读了文档,并且看到了 :dir/:dir_mode,但我只能让它做一个或另一个,而不是两者——如果你问我,这似乎是一组非常糟糕的选项。

4

1 回答 1

3

看起来香草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但它在模块守护进程中的其他地方通过名称实例化,这使得事情变得棘手。

于 2009-10-14T01:26:54.533 回答