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 байта.