36.9. pty — 伪终端实用程序 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/pty
跳转至:导航、​搜索

36.9. 私人有限公司 — 伪终端实用程序

pty 模块定义了处理伪终端概念的操作:启动另一个进程并能够以编程方式从其控制终端写入和读取。

因为伪终端处理高度依赖于平台,所以只有在 Linux 上有代码才能做到这一点。 (Linux 代码应该可以在其他平台上运行,但尚未经过测试。)

pty 模块定义了以下函数:

pty.fork()
叉子。 将孩子的控制终端连接到伪终端。 返回值为 (pid, fd)。 注意子进程得到 pid 0,而 fdinvalid。 父的返回值是子的 pid,而 fd 是连接到子的控制终端(也连接到子的标准输入和输出)的文件描述符。
pty.openpty()
打开一个新的伪终端对,如果可能,使用 os.openpty(),或通用 Unix 系统的仿真代码。 分别返回一对文件描述符(master, slave),分别用于主从端。
pty.spawn(argv[, master_read[, stdin_read]])

生成一个进程,并将其控制终端与当前进程的标准 io 连接。 这通常用于阻止坚持从控制终端读取的程序。

函数 master_readstdin_read 应该是从文件描述符中读取的函数。 每次调用时,默认值都会尝试读取 1024 个字节。