[ruby-list:49600] Re: IO.popen に不具合?

From: Tanaka Akira <akr@...>
Date: 2013-09-25 00:08:26 UTC
List: ruby-list #49600
2013年9月24日 22:11 尾川敏也 <ogw@shizuokanet.ne.jp>:

> class String
>   def |(cmdline)
>     IO.popen(cmdline, "w+") do |pipe|
>       Thread.fork {
>         pipe.write self
>         pipe.close_write
>       }
>       pipe.read
>     end
>   end
> end
>
> result = "".|("myprog1 datafile.txt").|("myprog2").|("myprog3")
>
> File.open("result.txt", "w") do |f|
>   f.write result
> end

原因は分かりませんが、とりあえずスレッドを join してみるのはいかがでしょうか。
もしかしたらスレッド内でなにか例外が発生していて、
join するとそれが可視化されるかもしれません。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread