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が、モジュール Daemons の他の場所で名前によってインスタンス化されているため、扱いが難しくなっています。

于 2009-10-14T01:26:54.533 に答える