Sha256: cf901ae4dc76ae2f31926bbe8ff863f5db7a4d4d8a37a3eb8ce22444ffed0a07
Contents?: true
Size: 1.27 KB
Versions: 7
Compression:
Stored size: 1.27 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 var = true while var do sleep 600 end
Version data entries
7 entries across 7 versions & 1 rubygems