ごとうです (あらすじ: pipe で子プロセスと通信するとき、 親の書き込み側を close しないと返事が来ないという話し) > ええと,Filterの実装がわからないのでなんともいえないのですが, > > IO#sync= > > ってのが助けになるのでは? 書き込むたびにバッファをフラッシュ > します.もっとも,向こう側が読み込んでくれないことにはこっち > でいくらフラッシュしても無駄無駄なわけですが. > > まつもと ゆきひろ /:|) お騒がせしました。 子プロセスで exec した job がフラッシュ してないだけでした。 とりあえず、各行を要素とする配列に貯めてから、 コマンド名を引数にした関数を呼ぶことで 我慢することにしました。 つまりその関数が呼ばれるたびに fork してしまう わけです。 # もともとの問題はシェルスクリプトで # cmd1 引数リスト | ... | cmdn 引数リスト | ruby hoge.rb 引数リスト # などとするとき、このシェルスクリプトの引数の解釈を # 書くのがめんどくさくて全部を ruby でやりたかったと # いうだけだったので。 # このシェルスクリプトを呼ぶ wrapper を ruby で書く # のもなんかカッコ悪いし… -- ごとう