type=module
superclass=
included=
extended=
dynamically_included=
dynamically_extended=
library=open3
aliases=
aliasof=

プログラムを実行し、そのプロセスの標準入力・標準出力・
標準エラー出力にパイプをつなぎます。

=== 使用例

nroff を実行してその標準入力に man ページを送り込み処理させる。
nroff プロセスの標準出力から処理結果を受け取る。

  require "open3"

  stdin, stdout, stderr = *Open3.popen3('nroff -man')
  # こちらから書く
  Thread.fork {
    File.foreach('/usr/man/man1/ruby.1') do |line|
      stdin.print line
    end
    stdin.close    # または close_write
  }
  # こちらから読む
  stdout.each do |line|
    print line
  end
