Документация Python неофициальный перевод

33.8. pty – Утилиты псевдо-терминалаpty – Pseudo-terminal utilities

Платформы: Linux

Модуль pty определяет операции для работы с концепцией псевдо-терминала: запуск другого процесса и возможность программно записывать в его управляющий терминал и читать из него.

Поскольку работа с псевдотерминалами сильно зависит от платформы, код для этого реализован только для Linux. (Предполагается, что код для Linux будет работать и на других платформах, но это ещё не проверено.)

Модуль pty определяет следующие функции:

pty.fork()
Fork. Подключает управляющий терминал дочернего процесса к псевдо-терминалу. Возвращаемое значение – (pid, fd). Обратите внимание, что дочерний процесс получает pid 0, а fd является недействительным. Родительский процесс получает pid дочернего процесса, а fd – это файловый дескриптор, подключённый к управляющему терминалу дочернего процесса (а также к его стандартному вводу и выводу).
pty.openpty()
Открывает новую пару псевдо-терминалов, используя os.openpty(), если это возможно, или код эмуляции для обычных Unix-систем. Возвращает пару файловых дескрипторов (master, slave), для ведущего и ведомого концов соответственно.
pty.spawn(argv[, master_read[, stdin_read]])

Создаёт процесс и подключает его управляющий терминал к стандартному вводу-выводу текущего процесса. Это часто используется, чтобы обмануть программы, которые настаивают на чтении из управляющего терминала.

Функции master_read и stdin_read должны читать из файлового дескриптора. По умолчанию при каждом вызове читается 1024 байта.