Revert "Merge pull request #125 from brainopia/master"
It appears that this is causing issues with process termination. This reverts commitd2c9ce0f34, reversing changes made to98337c92e1.
This commit is contained in:
+2
-2
@@ -1,2 +1,2 @@
|
|||||||
#!/usr/bin/env ruby
|
#!/bin/sh
|
||||||
exec "#{ARGV.join(' ')} 2>&1"
|
exec $1 2>&1
|
||||||
|
|||||||
@@ -72,16 +72,10 @@ private ######################################################################
|
|||||||
def kill_all(signal="SIGTERM")
|
def kill_all(signal="SIGTERM")
|
||||||
running_processes.each do |pid, process|
|
running_processes.each do |pid, process|
|
||||||
info "sending #{signal} to pid #{pid}"
|
info "sending #{signal} to pid #{pid}"
|
||||||
kill(signal, -pid) or kill(signal, pid)
|
Process.kill(signal, pid) rescue Errno::ESRCH
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def kill(signal, pid)
|
|
||||||
Process.kill signal, pid
|
|
||||||
rescue Errno::ESRCH
|
|
||||||
false
|
|
||||||
end
|
|
||||||
|
|
||||||
def terminate_gracefully
|
def terminate_gracefully
|
||||||
info "sending SIGTERM to all processes"
|
info "sending SIGTERM to all processes"
|
||||||
kill_all "SIGTERM"
|
kill_all "SIGTERM"
|
||||||
|
|||||||
@@ -30,13 +30,11 @@ private
|
|||||||
def fork_with_io(command)
|
def fork_with_io(command)
|
||||||
reader, writer = IO.pipe
|
reader, writer = IO.pipe
|
||||||
pid = fork do
|
pid = fork do
|
||||||
Process.setpgrp
|
|
||||||
trap("INT", "IGNORE")
|
trap("INT", "IGNORE")
|
||||||
$stdout.reopen writer
|
$stdout.reopen writer
|
||||||
reader.close
|
reader.close
|
||||||
exec Foreman.runner, replace_command_env(command)
|
exec Foreman.runner, replace_command_env(command)
|
||||||
end
|
end
|
||||||
Process.detach pid
|
|
||||||
[ reader, pid ]
|
[ reader, pid ]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user