mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* prelude.rb (Process.daemon): New method.
* .document: Add prelude.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@27093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
098adfab28
commit
316a0aa03d
4 changed files with 48 additions and 0 deletions
|
@ -6,6 +6,9 @@
|
|||
# Process all the C source files
|
||||
*.c
|
||||
|
||||
# prelude
|
||||
prelude.rb
|
||||
|
||||
# the lib/ directory (which has its own .document file)
|
||||
|
||||
lib
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
Tue Mar 30 02:40:31 2010 Akinori MUSHA <knu@iDaemons.org>
|
||||
|
||||
* prelude.rb (Process.daemon): New method.
|
||||
|
||||
* .document: Add prelude.rb.
|
||||
|
||||
Mon Mar 29 17:38:24 2010 Keiju Ishitsuka <keiju@ruby-lang.org>
|
||||
|
||||
* ext/rational/lib/rational.rb: fix [Bug #1397].
|
||||
|
|
4
NEWS
4
NEWS
|
@ -102,6 +102,10 @@ with all sufficient information, see the ChangeLog file.
|
|||
|
||||
New method primarily for use in the case-when construct.
|
||||
|
||||
* Process.daemon
|
||||
|
||||
New method.
|
||||
|
||||
* Range#cover?
|
||||
|
||||
New alias to #include? for the forward compatibility with 1.9, in
|
||||
|
|
35
prelude.rb
35
prelude.rb
|
@ -1 +1,36 @@
|
|||
# currently empty
|
||||
|
||||
module Process
|
||||
# call-seq:
|
||||
# Process.daemon() => 0
|
||||
# Process.daemon(nochdir=nil,noclose=nil) => 0
|
||||
#
|
||||
# Detach the process from controlling terminal and run in
|
||||
# the background as system daemon. Unless the argument
|
||||
# nochdir is true (i.e. non false), it changes the current
|
||||
# working directory to the root ("/"). Unless the argument
|
||||
# noclose is true, daemon() will redirect standard input,
|
||||
# standard output and standard error to /dev/null.
|
||||
# Return zero on success, or raise one of Errno::*.
|
||||
def self.daemon(nochdir = nil, noclose = nil)
|
||||
if $SAFE >= 2
|
||||
raise SecurityError, "Insecure operation `%s' at level %d", __method__, $SAFE
|
||||
end
|
||||
|
||||
fork && exit!(0)
|
||||
|
||||
Process.setsid()
|
||||
|
||||
fork && exit!(0)
|
||||
|
||||
Dir.chdir('/') unless nochdir
|
||||
|
||||
File.open('/dev/null', 'r+') { |f|
|
||||
STDIN.reopen(f)
|
||||
STDOUT.reopen(f)
|
||||
STDERR.reopen(f)
|
||||
} unless noclose
|
||||
|
||||
return 0
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue