method
    
    popen2
  
      v1_9_3_392 - 
      Show latest stable
 - 
    0 notes - 
    Class: Open3
    
  
  
- 1_8_6_287
 - 1_8_7_72
 - 1_8_7_330
 - 1_9_1_378
 - 1_9_2_180 (0)
 - 1_9_3_125 (0)
 - 1_9_3_392 (0)
 - 2_1_10 (38)
 - 2_2_9 (0)
 - 2_4_6 (0)
 - 2_5_5 (0)
 - 2_6_3 (0)
 - What's this?
 
popen2(*cmd, &block)
  public
  Open3.popen2 is similer to Open3.popen3 except it doesn’t make a pipe for the standard error stream.
Block form:
Open3.popen2([env,] cmd... [, opts]) {|stdin, stdout, wait_thr| pid = wait_thr.pid # pid of the started process. ... exit_status = wait_thr.value # Process::Status object returned. }
Non-block form:
stdin, stdout, wait_thr = Open3.popen2([env,] cmd... [, opts]) ... stdin.close # stdin and stdout should be closed explicitly in this form. stdout.close
See Process.spawn for the optional hash arguments env and opts.
Example:
Open3.popen2("wc -c") {|i,o,t| i.print "answer to life the universe and everything" i.close p o.gets #=> "42\n" } Open3.popen2("bc -q") {|i,o,t| i.puts "obase=13" i.puts "6 * 9" p o.gets #=> "42\n" } Open3.popen2("dc") {|i,o,t| i.print "42P" i.close p o.read #=> "*" }

  
  
  