This commit is contained in:
David Dollar
2010-06-09 11:51:10 -04:00
parent 2ecbf8d06d
commit 675ad2630d
4 changed files with 23 additions and 13 deletions
+17 -7
View File
@@ -34,23 +34,33 @@ class Foreman::Engine
run_loop
end
def execute(name)
run(processes[name], false)
end
private ######################################################################
def fork(process)
pid = Process.fork do
proctitle "ruby: foreman #{process.name}"
Dir.chdir directory do
FileUtils.mkdir_p "log"
system "#{process.command} >>log/#{process.name}.log 2>&1"
exit $?.exitstatus || 255
end
run(process)
end
info "started with pid #{pid}", process
running_processes[pid] = process
end
def run(process, log_to_file=true)
proctitle "ruby: foreman #{process.name}"
Dir.chdir directory do
FileUtils.mkdir_p "log"
command = process.command
command << " >>log/#{process.name}.log 2>&1" if log_to_file
system command
exit $?.exitstatus || 255
end
end
def kill_and_exit(signal="TERM")
info "termination requested"
running_processes.each do |pid, process|