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

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

Модуль 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]])

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

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