D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
ruby18
/
share
/
ri
/
1.8
/
system
/
Open3
/
Filename :
popen3-i.yaml
back
Copy
--- !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 "strange" characters.jpg')\n result = stdout.read\n" full_name: Open3#popen3 is_singleton: false name: popen3 params: (*cmd) {|| ...} visibility: public