lib/nephos-server/bin-helpers.rb in nephos-server-0.5.4 vs lib/nephos-server/bin-helpers.rb in nephos-server-0.6.1

- old
+ new

@@ -1,6 +1,7 @@ module Nephos + module Bin # @param dir [String] # # The method check in the parameter directory: @@ -16,9 +17,47 @@ return false if not File.exists? gfl return false if not File.read(gfl).split.index("nephos-server") return true end + module Daemon + + def self.started? + get_pid != nil + end + + def self.kill! + d = get_pid + return false unless d + begin + Process::kill(10, d) + rescue => err + raise "Cannot kill #{d} !" + ensure + File.delete(get_pid_file) + end + return true + end + + def self.detach! + Process::daemon(true, false) + File.write(get_pid_file, Process::pid.to_s) + end + + def self.get_pid_file + return ".pid" + end + + def self.get_pid + return nil if not File.exists?(get_pid_file) + v = File.read(get_pid_file) + v = Integer(v) rescue nil + return v + end + + end + end + end class BinError < StandardError; end