まつもと ゆきひろです

In message "[ruby-dev:22877] Process.spawn & IO.popen w/o shell"
    on 04/02/14, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes:
|
|なかだです。
|
|http://znz.s1.xrea.com/t/?date=20040213#p03 にまとめられている
|ように、パイプを使ってシェルを経由しない方法がありません。また、
|パイプを使わないで子プロセスを非同期で実行する方法もありません。
|ということで、拡張&追加してみました。

いいんじゃないでしょうか。

ただ、TYPE(pname) == T_ARRAY じゃなくてrb_check_array_type()
を使ってほしいですね。

あと、時間があったら

  * fork前にもう一本pipeを用意してサブプロセスでexecに失敗し
    た場合にそのpipeを使って情報を伝達し、例外を発生する。

という機能の実装について考えてみてくださいませんか。「Perlで
はやっている」と前から言われてるんですが、なかなか手がつけら
れません。