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.