デーモンを使用して、スクリプトのログが/ 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 の他の場所で名前によってインスタンス化されているため、扱いが難しくなっています。