better handling of Interrupt rescues
This commit is contained in:
@@ -84,18 +84,21 @@ private ######################################################################
|
|||||||
def run(process, log_to_file=true)
|
def run(process, log_to_file=true)
|
||||||
proctitle "ruby: foreman #{process.name}"
|
proctitle "ruby: foreman #{process.name}"
|
||||||
|
|
||||||
Dir.chdir directory do
|
begin
|
||||||
FileUtils.mkdir_p "log"
|
Dir.chdir directory do
|
||||||
command = process.command
|
FileUtils.mkdir_p "log"
|
||||||
|
command = process.command
|
||||||
|
|
||||||
begin
|
|
||||||
PTY.spawn("#{process.command} 2>&1") do |stdin, stdout, pid|
|
PTY.spawn("#{process.command} 2>&1") do |stdin, stdout, pid|
|
||||||
until stdin.eof?
|
until stdin.eof?
|
||||||
info stdin.gets, process
|
info stdin.gets, process
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
rescue PTY::ChildExited, Interrupt
|
end
|
||||||
info "process exiting", process rescue nil
|
rescue PTY::ChildExited, Interrupt
|
||||||
|
begin
|
||||||
|
info "process exiting", process
|
||||||
|
rescue Interrupt
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user