WEBrick::HTTPServer を daemonize
WEBrick::HTTPServer には、:ServerType なんてのは一切出てこないけど、スーパークラスの WEBrick::GenericServer にはあるんで、ひょっとしたら使えるんかなと思ったら普通に使えてしまいました。ホントにいいんだろうか…
require 'webrick' servlet = XMLRPC::WEBrickServlet.new srv = WEBrick::HTTPServer.new( :BindAddress => '0.0.0.0', :Port => 10080, :ServerType => WEBrick::Daemon ) webrick.mount('/', servlet) Signal.trap(:TERM) { webrick.shutdown } Signal.trap(:INT) { webrick.shutdown } Signal.trap(:HUP) { webrick.shutdown } webrick.start
:ServerType を指定しないと WEBrick::SimpleServer になるので、単にコマンドラインに & を付けただけだと制御端末に張り付いちゃうなどいろいろと不都合があったわけですが、これにて一件落着(なのか?