Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > open3ライブラリ > Open3モジュール > pipeline_r
pipeline_r(*cmds) -> [IO, [Thread]]
[permalink][rdoc]pipeline_r(*cmds) {|last_stdout, wait_thrs| ... } -> ()
指定したコマンドのリストをパイプで繋いで順番に実行します。最後の コマンドの標準出力を受けとる事ができます。
例:
require "open3" Open3.pipeline_r("yes", "head -10") {|r, ts| p r.read #=> "y\ny\ny\ny\ny\ny\ny\ny\ny\ny\n" p ts[0].value #=> #<Process::Status: pid 24910 SIGPIPE (signal 13)> p ts[1].value #=> #<Process::Status: pid 24913 exit 0> }
[SEE_ALSO] Open3.#popen3