
:mod:`pty` --- 擬似端末ユーティリティ
=====================================

.. module:: pty
   :platform: Linux
   :synopsis: Linux用の擬似端末を制御する
.. moduleauthor:: Steen Lumholt
.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>


:mod:`pty` モジュールは擬似端末(他のプロセスを実行してその制御をしている端末を\
プログラムで読み書きする)を制御する操作を定義しています。

擬似端末の制御はプラットフォームに強く依存するので、Linux用のコード\
しか存在していません。(Linux用のコードは他のプラットフォームでも動作するよう\
に作られていますがテストされていません。)

:mod:`pty` モジュールでは以下の関数を定義しています:


.. function:: fork()

   forkします。子プロセスの制御端末を擬似端末に接続します。
   返り値は ``(pid, fd)`` です。子プロセスは *pid* として0、
   *fd* として *invalid* をそれぞれ受けとります。
   親プロセスは *pid* として子プロセスのPID、 *fd* として子プロセスの制御端末
   (子プロセスの標準入出力に接続されている)のファイルディスクリプタを受けとります。


.. function:: openpty()

   新しい擬似端末のペアを開きます。利用できるなら :func:`os.openpty` を使い、
   利用できなければ一般的なUnixシステム用のエミュレーションコードを使います。
   マスター、スレーブそれぞれのためのファイルディスクリプタ、
   ``(master, slave)`` のタプルを返します。


.. function:: spawn(argv[, master_read[, stdin_read]])

   プロセスを生成して制御端末を現在のプロセスの標準入出力に接続します。
   これは制御端末を読もうとするプログラムをごまかすために利用されます。

   *master_read* と *stdin_read* にはファイルディスクリプタから読み込む
   関数を指定してください。デフォルトでは呼ばれるたびに1024バイトずつ\
   読み込もうとします。
