Linux ShellScriptのOS起動時起動
/etc/rc.d/rc.local
に
/usr/local/bin/ruby 立ち上げたいrbファイル
を記述。
def daemon
return yield if $DEBUG
Process.fork do
Process.setsid
Dir.chdir "/"
Signal.trap(:INT){ exit! 0}
Signal.trap(:TERM){ exit! 0}
Signal.trap(:HUP){ exit! 0}
File.open("/dev/null","r+") do |f|
STDIN.reopen f
STDOUT.reopen f
STDERR.reopen f
end
yield
end
exit! 0
endrequire 'soap/rpc/standaloneServer'
require '/WSD/soap-server/interest-calculator'NS='http://pragprog.com/InterestCalc'
class Server2 < SOAP::RPC::StandaloneServer
def on_init
calc=InterestCalculator.new
add_method(calc,'compound','principal','rate','freq','years')
add_method(calc,'call_count')
end
endsvr=Server2.new('Calc',NS,'0.0.0.0',12321)
trap('INT'){ svr.shutdown }
daemon化することで、バックグラウンドで実行できる。(起動後、shellにコマンドが戻ってくる)