---
name: "Juman::Fork"
section: "3pm"
platform: "linux"
package: "libjuman-perl"
version: "7.0-3.9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Juman::Fork"
---

# Juman::Fork(3pm)

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

## 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\>

## POD ERRORS

Hey! **The above document had some coding errors, which are explained below:**

- Around line 16:

  Non-ASCII character seen before =encoding in '非同期に実行される子プロセスを生成する'. Assuming UTF-8
