Module: Paraspec::ProcessHelpers
- Included in:
- Supervisor
- Defined in:
- lib/paraspec/process_helpers.rb
Instance Method Summary collapse
Instance Method Details
#kill_child_processes ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/paraspec/process_helpers.rb', line 3 def kill_child_processes # Only kill if we are in supervisor return unless Process.pid == Process.getpgrp child_pids = `pgrep -g #{$$}` if $?.exitstatus != 0 warn "Failed to run pgrep (#{$?.exitstatus})" end child_pids = child_pids.strip.split(/\n/).map { |pid| pid.to_i } child_pids.delete_if do |pid| pid == Process.pid end child_pids.each do |pid| begin Process.kill('TERM', pid) end end end |