如何指定守护进程的日志和pid目录?

时间:2009-10-13 14:57:15

标签: ruby daemons

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

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

1 个答案:

答案 0 :(得分: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.log文件。我还要修补Application的子类,但它在模块守护程序的其他地方通过名称实例化,这样就会让事情变得棘手。