NAME

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


SYNOPSIS

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


DESCRIPTION

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


CONSTRUCTOR

new ( COMMAND [,ARGV] )
Fork オブジェクトを生成する.

子プロセスとして実行するコマンドを第1引数に指定し,第2引数以降にそのコ マンドに対するコマンドラインオプションを指定する.

Example:

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


METHODS

print( [STR,] )
子プロセスの標準入力に対して,指定された文字列を出力する.

printf( FORMAT [,ARG] )
子プロセスの標準入力に対して,書式付き出力を行う.

flush
子プロセスの標準入力と連結されているパイプを flush する.

close
子プロセスの標準入力と連結されているパイプを閉じる.

timeout( VAL )
子プロセスの出力を getline メソッドによって取り出す場合のタイムアウ ト時間を設定する.このメソッドによって特に設定されなければ,タイムアウ ト時間には変数 $Fork::TIMEOUT の値が使われる.

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

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

pid
子プロセスの PID を返す.

alive
子プロセスが残っているか調べる.

kill
子プロセスを強制終了(kill)する.


AUTHOR

TSUCHIYA Masatoshi <tsuchiya@namazu.org>


COPYRIGHT

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, you can either send email to this program's maintainer or write to: The Free Software Foundation, Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA.

Last Update: $Date: 2003/06/23 11:27:09 $