わたなべです.

Yukihiro Matsumoto <matz / netlab.co.jp> writes:

:atexitでなくてもrubyには終了時に必ず走るはずの部分があるので,
:そこで行うことは出来るのですが,pclose()って必ず必要なんです
:か? プロセスが終る場合には要らないとかそういうことは無いん
:ですか?

DOS の場合は popen(), pclose() は emulation にすぎないしね.
popen("hogehoge", "r") ならたぶん pclose() する必要はないけ
ど, popen("hogehoge", "w") は temporary ファイルに書き出し
て pclose() のタイミングで system() を呼ぶしかないんです.
だから open("|hogehoge", "w") は close しないと何も出力され
ません. また MSWin32 版もいろいろ後始末があるのでこれも必要
です.

:UNIXの実装だと要らない(というかpopen()つかってないし)ような
:気がするんですけど.

という理由で UNIX では関係ないと書いたわけです.

-- 
わたなべひろふみ