From: Reimer Behrends Date: 2003-12-07T22:52:03+09:00 Subject: Re: Trying to create a Ruby daemon Samuel Kvarnbrink (samuel.kvarnbrink@humlab.umu.se) wrote: > Hi, > Does anyone here have an example on how to create a Ruby daemon that > runs as a session leader (without a controlling terminal)? I've tried > to accomplish that using fork and Process.setpgrp, but the only results > so far have been zombie processes or processes that exit when I close > the terminal. I'm quite new to Ruby so I guess that I've missed some > little detail somewhere... :) Daemonization in seven easy steps [1]: exit if fork # Parent exits, child continues. Process.setsid # Become session leader. exit if fork # Zap session leader. See [1]. Dir.chdir "/" # Release old working directory. File.umask 0000 # Ensure sensible umask. Adjust as needed. STDIN.reopen "/dev/null" # Free file descriptors and STDOUT.reopen "/dev/null", "a" # point them somewhere sensible. STDERR.reopen STDOUT # STDOUT/ERR should better go to a logfile. Refine as necessary. Reimer Behrends [1] http://www.erlenstar.demon.co.uk/unix/faq_2.html#SEC16