Current File : //proc/thread-self/root/opt/alt/ruby18/share/ri/1.8/system/Open3/popen3-i.yaml
--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: ""
comment: 
- !ruby/struct:SM::Flow::P 
  body: "Open stdin, stdout, and stderr streams and start external executable. Non-block form:"
- !ruby/struct:SM::Flow::VERB 
  body: "  require 'open3'\n\n  stdin, stdout, stderr = Open3.popen3(cmd)\n"
- !ruby/struct:SM::Flow::P 
  body: "Block form:"
- !ruby/struct:SM::Flow::VERB 
  body: "  require 'open3'\n\n  Open3.popen3(cmd) { |stdin, stdout, stderr| ... }\n"
- !ruby/struct:SM::Flow::P 
  body: The parameter <tt>cmd</tt> is passed directly to Kernel#exec.
- !ruby/struct:SM::Flow::P 
  body: _popen3_ is like <em>system</em> in that you can pass extra parameters, and the strings won't be mangled by shell expansion.
- !ruby/struct:SM::Flow::VERB 
  body: "  stdin, stdout, stderr = Open3.popen3('identify', '/weird path/with spaces/and &quot;strange&quot; characters.jpg')\n  result = stdout.read\n"
full_name: Open3#popen3
is_singleton: false
name: popen3
params: (*cmd) {|| ...}
visibility: public