class Flaky::Cmd

Attributes

err[R]
in[R]
out[R]
pid[R]

Public Class Methods

new(cmd) click to toggle source
# File lib/flaky/cmd.rb, line 5
def initialize cmd
  # redirect err to child's out
  @pid, @in, @out, @err = POSIX::Spawn::popen4 cmd, { :err => [:child, :out] }
  @in.close
end

Public Instance Methods

stop() click to toggle source
# File lib/flaky/cmd.rb, line 11
def stop
  [@in, @out, @err].each { |io| io.close unless io.nil? || io.closed? }
  begin
    Process.kill 'KILL', @pid
    Process.waitpid @pid
  rescue # no such process
  end
end