Ruby 2.6.0 リファレンスマニュアル > 関数一覧 > pipe_open (static)

function pipe_open

static VALUE pipe_open(char *pname, char *mode)

popen(3) を実行します。引数pname、modeは popen(3) の 引数に対応します。

pnameは、実行するプロセスで "-" ならば、自身を fork(2) します。

IO オブジェクトを生成し、mode が "r" のとき、 子プロセスの標準出力を生成した IO の入力につなぎます。

mode が "w" のとき、 子プロセスの標準入力を生成した IO の出力につなぎます。

mode に "+" が含まれれば、子プロセスの標準入出力を 生成した IO の入出力につなぎます。

生成した IO オブジェクトを返します。 pnameが "-" であれば、子プロセスには、nil を返します