Methods
D
Class Public methods
daemon(nochdir = nil, noclose = nil)
# File activesupport/lib/active_support/core_ext/process/daemon.rb, line 3
def self.daemon(nochdir = nil, noclose = nil)
  exit if fork                     # Parent exits, child continues.
  Process.setsid                   # Become session leader.
  exit if fork                     # Zap session leader. See [1].
  unless nochdir
    Dir.chdir "/"                  # Release old working directory.
  end
  File.umask 0000                  # Ensure sensible umask. Adjust as needed.
  unless noclose
    STDIN.reopen "/dev/null"       # Free file descriptors and
    STDOUT.reopen "/dev/null", "a" # point them somewhere sensible.
    STDERR.reopen '/dev/null', 'a'
  end
  trap("TERM") { exit }
  return 0
end