36.9。 pty —疑似端末ユーティリティ
pty モジュールは、疑似端末の概念を処理するための操作を定義します。つまり、別のプロセスを開始し、プログラムで制御端末に読み書きできるようにします。
疑似端末の処理はプラットフォームに大きく依存するため、Linuxでのみ処理するコードがあります。 (Linuxコードは他のプラットフォームでも動作するはずですが、まだテストされていません。)
pty モジュールは、次の関数を定義します。
- pty.fork()
- フォーク。 子供の制御端末を疑似端末に接続します。 戻り値は
(pid, fd)
です。 子は pid 0を取得し、 fd は無効であることに注意してください。 親の戻り値は子の pid であり、 fd は子の制御端末(および子の標準入出力)に接続されたファイル記述子です。
- pty.openpty()
- 可能であれば os.openpty()を使用するか、汎用Unixシステムのエミュレーションコードを使用して、新しい疑似端末ペアを開きます。 マスター側とスレーブ側にそれぞれファイル記述子のペア
(master, slave)
を返します。
- pty.spawn(argv[, master_read[, stdin_read]])
プロセスを生成し、その制御端末を現在のプロセスの標準ioに接続します。 これは、制御端末からの読み取りを要求するプログラムを妨害するためによく使用されます。
関数 master_read および stdin_read は、ファイル記述子から読み取る関数である必要があります。 デフォルトでは、呼び出されるたびに1024バイトを読み取ろうとします。