Methods
Public Class methods
[ show source ]
# File activesupport/lib/active_support/core_ext/process/daemon.rb, line 3 3: def self.daemon(nochdir = nil, noclose = nil) 4: exit if fork # Parent exits, child continues. 5: Process.setsid # Become session leader. 6: exit if fork # Zap session leader. See [1]. 7: 8: unless nochdir 9: Dir.chdir "/" # Release old working directory. 10: end 11: 12: File.umask 0000 # Ensure sensible umask. Adjust as needed. 13: 14: unless noclose 15: STDIN.reopen "/dev/null" # Free file descriptors and 16: STDOUT.reopen "/dev/null", "a" # point them somewhere sensible. 17: STDERR.reopen '/dev/null', 'a' 18: end 19: 20: trap("TERM") { exit } 21: 22: return 0 23: end