module Mixlib::ShellOut::Unix

def reap

and grandchild processes.
we can be confident the child will exit quickly, and has not spawned
Unconditionally reap the child process. This is used in scenarios where
def reap
  results = Process.waitpid2(@child_pid)
  @reaped = true
  @status = results.last
rescue Errno::ECHILD
  # When cleaning up timed-out processes, we might send SIGKILL to the

  # whole process group after we've cleaned up the direct child. In that

  # case the grandchildren will have been adopted by init so we can't

  # reap them even if we wanted to (we don't).

  nil
end