From: MATSUNAGA Ichiro Date: 2007-05-26T23:51:20+09:00 Subject: [ruby-list:43570] Re: IO.popenと入出力 松永です。 At 26 May 2007 11:52:43 +0900 Nobuyoshi Nakada wrote on <200705260252.l4Q2qhp4026054@sharui.nakada.kanuma.tochigi.jp>: > > Open3.popen3("cat -", "r+"){|stdin, stdout, stderr| > > Open3は常にread/writeで実行しますから、モードを指定することはで > きません。この場合、"cat -"という(スペースも含めた)名前のコマン > ドを"r+"という引数で実行しようとします。 指摘ありがとうございます。 半分寝ている頭でテストしていたので、マニュアルを読んでいるつもりで全く読め てませんでした。 下記のようなテストコードで標準出力、標準エラー出力、双方取れました。 --------------------------------------------- require 'open3' Open3.popen3("(cat - ; echo \"stderr\" >&2 )"){|stdin, stdout, stderr| stdin.puts("stdin") stdin.close_write() puts("stdout:" + stdout.read()) puts("stderr:" + stderr.read()) } --------------------------------------------- vikke@music:~/cvswork/SJProxy/test_tmp_code $ ./open3_test.rb stdout:stdin stderr:stderr 以上 -- MATSUNAGA Ichiro e-mail: vikke@mars95.to Just remember - when you think all is lost, the future remains. -- Robert H. Goddard