## 2 Popen オブジェクト

`Popen` クラスのインスタンスには、以下のようなメソッドがあります:

`poll`( | )

  子プロセスが終了しているかどうかを検査します。 returncode 属性を返します。

`wait`( | )

  子プロセスが終了するまで待ちます。 returncode 属性を返します。

`communicate`( | input=None)

  プロセスと通信します: end-of-file に到達するまで データを stdin に送信し、stdout および stderr からデータを受信します。 プロセスが終了するまで待ちます。オプション引数 stdin には 子プロセスに送られる文字列か、あるいはデータを送らない場合は `None` を指定します。

  communicate() はタプル (stdout, stderr) を返します。

  注意: 受信したデータはメモリ中にバッファされます。 そのため、返されるデータが大きいかあるいは制限がないような場合は このメソッドを使うべきではありません。

以下の属性も利用できます:

`stdin`
  stdin 引数が `PIPE` の場合、この属性には 子プロセスの入力に使われるファイルオブジェクトになります。 そうでない場合は `None` です。

`stdout`
  stdout 引数が `PIPE` の場合、この属性には 子プロセスの出力に使われるファイルオブジェクトになります。 そうでない場合は `None` です。

`stderr`
  stderr 引数が `PIPE` の場合、この属性には 子プロセスのエラー出力に使われるファイルオブジェクトになります。 そうでない場合は `None` です。

`pid`
  子プロセスのプロセス ID が入ります。

`returncode`
  子プロセスの終了ステータスが入ります。 `None` はまだその子プロセスが終了していないことを示し、 負の値 -N は子プロセスがシグナル N により中止させられたことを示します (Unix のみ)。