Module: Process
- Defined in:
- lib/puma/daemon_ext.rb
Class Method Summary collapse
-
.daemon(nochdir = false, noclose = false) ⇒ Object
This overrides the default version because it is broken if it exists.
Class Method Details
.daemon(nochdir = false, noclose = false) ⇒ Object
This overrides the default version because it is broken if it exists.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/puma/daemon_ext.rb', line 6 def self.daemon(nochdir=false, noclose=false) exit if fork # Parent exits, child continues. Process.setsid # Become session leader. exit if fork # Zap session leader. See [1]. Dir.chdir "/" unless nochdir # Release old working directory. if !noclose STDIN.reopen File.open("/dev/null", "r") null_out = File.open "/dev/null", "w" STDOUT.reopen null_out STDERR.reopen null_out end 0 end |