Class: Daemons::Monitor
- Inherits:
-
Object
- Object
- Daemons::Monitor
- Defined in:
- lib/daemons/monitor.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(an_app) ⇒ Monitor
constructor
A new instance of Monitor.
- #start(applications) ⇒ Object
- #stop ⇒ Object
Constructor Details
Class Method Details
.find(dir, app_name) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/daemons/monitor.rb', line 8 def self.find(dir, app_name) pid = PidFile.find_files(dir, app_name)[0] if pid pid = PidFile.existing(pid) unless PidFile.running?(pid.pid) pid.cleanup rescue nil return end monitor = self.allocate monitor.instance_variable_set(:@pid, pid) return monitor end return nil end |
Instance Method Details
#start(applications) ⇒ Object
105 106 107 108 109 110 111 112 113 |
# File 'lib/daemons/monitor.rb', line 105 def start(applications) return if applications.empty? if @pid.kind_of?(PidFile) start_with_pidfile(applications) else start_without_pidfile(applications) end end |
#stop ⇒ Object
116 117 118 119 120 121 122 |
# File 'lib/daemons/monitor.rb', line 116 def stop Process.kill('TERM', @pid.pid) rescue nil # We try to remove the pid-files by ourselves, in case the application # didn't clean it up. @pid.cleanup rescue nil end |