Juman::Fork - 非同期に実行される子プロセスを生成する


NAME

Juman::Fork - 非同期に実行される子プロセスを生成する


SYNOPSIS

 use Juman::Fork;
 $p = new Juman::Fork( "sort" );
 $p->print( "abc\n", "def\n", "ace\n" );
 $p->close;
 while( $_ = $p->getline ){
     print;
 }


DESCRIPTION

Juman::Fork は,指定されたコマンドを fork して子プロセスとして実行 し,その標準入力への書き込みと,標準出力及び標準エラー出力からの読み出 しを行うためのモジュールです.


CONSTRUCTOR

new ( COMMAND [,ARGV] )

Juman::Fork オブジェクトを生成します.子プロセスとして実行するコマ ンドを第1引数に指定し,第2引数以降にそのコマンドに対するコマンドライン オプションを指定します.

Example:

   $p = new Juman::Fork( "cat" "-n" );


METHODS

print( [STR,] )

引数によって指定された文字列を子プロセスの標準入力に渡すメソッドです.

printf( FORMAT [,ARG] )

第1引数によって指定された書式に従って,指定された文字列を子プロセスの 標準入力に渡すメソッドです.

getline()

子プロセスの標準出力及び標準エラー出力から1行分のデータを取り出すメソッ ドです.timeout によって設定された時間以内に読み出されなければ, undef を返します.

timeout( VAL )

子プロセスの出力を getline メソッドによって取り出す場合のタイムアウ ト時間を設定するメソッドです.タイムアウト時間の初期値には変数 $Juman::Fork::TIMEOUT の値が使われます.

alive()

子プロセスが残っているか調べるメソッドです.

pid()

子プロセスの PID を返すメソッドです.

close()

子プロセスの標準入力と連結されているパイプを閉じるメソッドです.

kill()

子プロセスを強制終了するメソッドです.


MEMO

Perl-5.8 以降の場合,子プロセスとの通信には, encoding プラグマで指 定された文字コードが使われます.


AUTHOR

TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp>