Sha256: d39142b1a4672375bcd58fb3a35ab56d6aab005ea70adb829a5505bd741808b7
Contents?: true
Size: 1.28 KB
Versions: 9
Compression:
Stored size: 1.28 KB
Contents
#!/usr/bin/ruby -w ### # sleep indefinitely as a debug require 'getoptlong' #----------------------------------------------------------------- def daemonize outfile = "/tmp/sleeperout" if pid = fork() Process.detach(pid) sleep 1 # verify that we didn't have any problems starting the daemon if FileTest.exists?(outfile) $stderr.puts "Sleeper failed: %s" % File.read(outfile) File.unlink(outfile) exit(14) else exit(0) end end Process.setsid Dir.chdir("/") begin $stdin.reopen "/dev/null" $stdout.reopen "/dev/null", "a" $stderr.reopen $stdin rescue => detail File.open(outfile, "w") { |f| f.puts detail } exit(12) end end #----------------------------------------------------------------- debug = false result = GetoptLong.new( [ "--debug", "-d", GetoptLong::NO_ARGUMENT ], [ "--help", "-h", GetoptLong::NO_ARGUMENT ] ) result.each { |opt,arg| case opt when "--help" puts "There is no help yet" exit when "--debug" debug = true else raise "Invalid option '#{opt}'" end } trap(:INT) { exit } unless debug daemonize() end # Sleep for no more than two minutes sleep 120 exit
Version data entries
9 entries across 9 versions & 1 rubygems