module function Open3.#capture3

capture3(*cmd) -> [String, String, Process::Status][permalink][rdoc][edit]

cmdで指定されたコマンドを実行し、そのプロセスの標準出力と標準エラー、プロセスの終了ステータスを表すオブジェクトを返します。

[PARAM] cmd:
実行するコマンドを指定します。
[RETURN]
実行したコマンドの標準出力と標準エラー、プロセスの終了ステータスを表すオブジェクトを配列で返します。

指定された引数はopts[:stdin_data]とopts[:binmode]以外は全て Open3.#popen3に渡されます。opts[:stdin_data]は実行するコマンドの標準入力に渡されます。opts[:binmode]を真に指定されると内部で使用されるパイプをバイナリモードに指定します。

例:

require "open3"

o, e, s = Open3.capture3("echo a; sort >&2", :stdin_data=>"foo\nbar\nbaz\n")
p o #=> "a\n"
p e #=> "bar\nbaz\nfoo\n"
p s #=> #<Process::Status: pid 32682 exit 0>

Open3.#popen3と同様に引数に環境変数とオプションを指定してコマンドを実行する事ができます。

[SEE_ALSO] Open3.#popen3