IRIX, Linuxプラットフォームで利用できます。
ptyモジュールは擬似端末(他のプロセスを実行してその制御をしてい る端末をプログラムで読み書きする)を制御する操作を定義しています。
擬似端末の制御はプラットフォームに強く依存するので、SGIとLinux用のコード しか存在していません。(Linux用のコードは他のプラットフォームでも動作するよ うに作られていますがテストされていません。)
ptyモジュールでは以下の関数を定義しています:
) |
forkします。子プロセスの制御端末を擬似端末に接続します。
返り値は(pid, fd)
です。子プロセスはpidとして0、
、fdとしてinvalid をそれぞれ受けとります。親プロセスは
pidとして子プロセスのPID、fdとして子プロセスの制御端末(子プ
ロセスの標準入出力に接続されている)のファイルディスクリプタを受けとります。
) |
新しい擬似端末のペアを開きます。
利用できるならos.openpty()を使い、
利用できなければSGIと一般的なUnixシステム用の
エミュレーションコードを使います。
マスター、スレーブそれぞれのためのファイルディスクリプタ、
(master, slave)
のタプルを返します。
argv[, master_read[, stdin_read]]) |
プロセスを生成して制御端末を現在のプロセスの標準入出力に接続します。 これは制御端末を読もうとするプログラムをごまかすために利用されます。
master_readとstdin_readにはファイルディスクリプタから読み込む 関数を指定してください。デフォルトでは呼ばれるたびに1024バイトずつ読み 込もうとします。