OPEN2(3)                 USER COMMANDS                   OPEN2(3)



NAME
     IPC::Open2, open2 - 読み書き両用のプロセスをオープンする

SYNOPSIS
         use IPC::Open2;
         $pid = open2('rdr', 'wtr', 'some cmd and args');
           # または
         $pid = open2('rdr', 'wtr', 'some', 'cmd', 'and', 'args');


DESCRIPTION
     open2() 関数は、与えられた $cmd を spawn し、読み込み用には
     $rdr と、書き込み用には $wtr と接続します。 これは、

         open(HANDLE, "|cmd args");

     としたときに動作すると思われるものです。 open2() はチャイル
     ドプロセスのプロセス ID を返します。 失敗で返ることはありま
     せん。 単に /^open2:/ にマッチする例外を起こします。

WARNING
     これは、ファイルハンドルを自動的に作ってはくれません。 自分
     で用意する必要があります。 ですから、何かを入れてもらうこと
     を期待して、空の変数を渡さないでください。

     さらに、これは、永久にブロックされるかも知れませんので、たい
     へん危険です。 これは、bc のように、それに書き込み、それか
     ら読み込むような、双方向のやり取りを考えています。 これは、
     bc のようなコマンドは、一時期に1行読み込み、一時期に1行出
     力するといったことを「知っている」ので、おそらく安全です。
     しかし、まず入力ストリームをすべて読む、sort のようなプログ
     ラムは、かなりデッドロックを引き起こす可能性があります。 別
     解として、open3 manpage を参照してください。






















Perl module manpages Last change: Release 5.0 Patchlevel 00     1