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