Ruby 1.9.0 リファレンスマニュアル > ライブラリ一覧 > open3ライブラリ > Open3モジュール

module Open3

クラスの継承リスト: Open3

要約

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

使用例

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

モジュール関数

定義 説明
popen3(cmd)

外部プログラム cmd を実行し、そのプロセスの標準入力、 標準出力、標準エラー出力に接続されたパイプを 3 要素の配列で返す。 cmd は組み込み関数 Kernel#exec と同じ規則で解釈される。