U:RDoc::AnyMethod[iI"
capture3:EFI"Open3#capture3;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"UOpen3.capture3 captures the standard output and the standard error of a command.;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim; [I"Mstdout_str, stderr_str, status = Open3.capture3([env,] cmd... [, opts])
;T:@format0o;
; [I"GThe arguments env, cmd and opts are passed to Open3.popen3 except ;TI"Xopts[:stdin_data]
and opts[:binmode]
. See Process.spawn.;T@o;
; [I"`If opts[:stdin_data]
is specified, it is sent to the command's standard input.;T@o;
; [I"SIf opts[:binmode]
is true, internal pipes are set to binary mode.;T@o;
; [I"Examples:;T@o;; [I"%# dot is a command of graphviz.
;TI"graph = <<'End'
;TI" digraph g {
;TI" a -> b
;TI" }
;TI" End
;TI"Idrawn_graph, dot_log = Open3.capture3("dot -v", :stdin_data=>graph)
;TI"
;TI"To, e, s = Open3.capture3("echo abc; sort >&2", :stdin_data=>"foo\nbar\nbaz\n")
;TI"p o #=> "abc\n"
;TI"p e #=> "bar\nbaz\nfoo\n"
;TI"2p s #=> #
;TI"
;TI"L# generate a thumbnail image using the convert command of ImageMagick.
;TI"9# However, if the image is really stored in a file,
;TI"S# system("convert", "-thumbnail", "80", "png:#{filename}", "png:-") is better
;TI".# because of reduced memory consumption.
;TI"^# But if the image is stored in a DB or generated by the gnuplot Open3.capture2 example,
;TI",# Open3.capture3 should be considered.
;TI"#
;TI"gimage = File.read("/usr/share/openclipart/png/animals/mammals/sheep-md-v0.1.png", :binmode=>true)
;TI"qthumbnail, err, s = Open3.capture3("convert -thumbnail 80 png:- png:-", :stdin_data=>image, :binmode=>true)
;TI"if s.success?
;TI"' STDOUT.binmode; print thumbnail
;TI"end;T;
0:
@fileI"lib/open3.rb;T:0@omit_headings_from_table_of_contents_below000[ I"3(*cmd, stdin_data: '', binmode: false, **opts);T@:FI"
Open3;FcRDoc::NormalModule00