00 - introduction

来自「O Reilly Ruby Cookbook source code」· 代码 · 共 82 行

TXT
82
字号
#!/usr/bin/ruby# daemonize_daemon.rbrequire 'tempfile'require 'daemonize'include Daemonize      # Import Daemonize::daemonize into this namespaceputs 'About to daemonize.'daemonize              # Now you're a daemon process!log = Tempfile.new('daemon.log')loop do  log.puts "I'm a daemon, doin' daemon things."  log.flush  sleep 5end#---$ ./daemonize_daemon.rbAbout to daemonize.$ ps x | grep daemon 4472 ?        S      0:00 ruby daemonize_daemon.rb 4474 pts/2    S+     0:00 grep daemon$ cat /tmp/daemon.log4472.0I'm a daemon, doin' daemon things.I'm a daemon, doin' daemon things.I'm a daemon, doin' daemon things.#---$ kill 4472$ ps x | grep daemon 4569 pts/2    S+     0:00 grep daemon#---#!/usr/bin/ruby# daemon_spawn.rbrequire 'tempfile'require 'daemonize'include Daemonizeputs "About to daemonize."fork do  daemonize  log = Tempfile.new('daemon.log')  loop do    log.puts "I'm a daemon, doin' daemon things."    log.flush    sleep 5  endendputs 'The subprocess has become a daemon.'puts "But I'm going to stick around for a while."sleep 10puts "Okay, now I'm done."#---#!/usr/bin/ruby# webrick_daemon.rbrequire 'tempfile'require 'webrick'puts 'About to daemonize.'WEBrick::Daemon.start do   log = Tempfile.new('daemon.log')  loop do    log.puts "I'm a daemon, doin' daemon things."    log.flush    sleep 5  endend#---    def Daemon.start      exit!(0) if fork      Process::setsid      exit!(0) if fork      Dir::chdir("/")      File::umask(0)      STDIN.reopen("/dev/null")      STDOUT.reopen("/dev/null", "w")      STDERR.reopen("/dev/null", "w")      yield if block_given?    end#---

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?