This document is for an old version of Python that is no longer supported. You should upgrade and read the Python 当前稳定版本的文档.

# 36.9. `pty` — 伪终端工具

`pty` 模块定义了一些处理“伪终端”概念的操作：启动另一个进程并能以程序方式在其控制终端中进行读写。

由于伪终端处理高度依赖于具体平台，因此此功能只有针对 Linux 的代码。 （Linux 代码也可在其他平台上工作，但是未经测试。）

`pty` 模块定义了下列函数:

`pty.``fork`()

  分叉。 将子进程的控制终端连接到一个伪终端。 返回值为 `(pid, fd)`。 请注意子进程获得 pid 0 而 fd 为 invalid。 父进程返回值为子进程的 pid 而 fd 为一个连接到子进程的控制终端（并同时连接到子进程的标准输入和输出）的文件描述符。

`pty.``openpty`()

  打开一个新的伪终端对，如果可能将使用 `os.openpty()`，或是针对通用 Unix 系统的模拟代码。 返回一个文件描述符对 `(master, slave)`，分别表示主从两端。

`pty.``spawn`(argv[, master_read[, stdin_read]])

  Spawn a process, and connect its controlling terminal with the current process’s standard io. This is often used to baffle programs which insist on reading from the controlling terminal.

  The functions master_read and stdin_read should be functions which read from a file descriptor. The defaults try to read 1024 bytes each time they are called.