$:.unshift '.' $:.unshift './lib' $:.unshift '../lib' require 'open4' cid, stdin, stdout, stderr = Open4::popen4('sh') stdin.puts 'echo 42' stdin.close out = stdout.read err = stderr.read pid, status = Process::waitpid2 cid puts "out <#{ out.strip }>" puts "err <#{ err.strip }>" puts "status <#{ status.inspect }>" puts "pid <#{ status.pid }>" puts "exitstatus <#{ status.exitstatus }>"