pty.md
1> **Источник:** https://python-all.ru/3.1/library/pty.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 33.8. `pty` – Утилиты псевдо-терминала89*Платформы:* Linux1011Модуль `pty` определяет операции для работы с концепцией псевдо-терминала: запуск другого процесса и возможность программно записывать в его управляющий терминал и читать из него.1213Поскольку работа с псевдотерминалами сильно зависит от платформы, код для этого реализован только для Linux. (Предполагается, что код для Linux будет работать и на других платформах, но это ещё не проверено.)1415Модуль `pty` определяет следующие функции:1617#### `pty.fork()`1819Fork. Подключает управляющий терминал дочернего процесса к псевдо-терминалу. Возвращаемое значение –2021`(pid, fd)`2223. Обратите внимание, что дочерний процесс получает2425*pid*26270, а2829*fd*3031является3233*недействительным*3435. Родительский процесс получает3637*pid*3839дочернего процесса, а4041*fd*4243– это файловый дескриптор, подключённый к управляющему терминалу дочернего процесса (а также к его стандартному вводу и выводу).4445#### `pty.openpty()`4647Открывает новую пару псевдо-терминалов, используя4849[`os.openpty()`](https://python-all.ru/3.1/library/os.html#os.openpty)5051, если это возможно, или код эмуляции для обычных Unix-систем. Возвращает пару файловых дескрипторов5253`(master, slave)`5455, для ведущего и ведомого концов соответственно.5657#### `pty.spawn(argv[, master_read[, stdin_read]])`5859Создаёт процесс и подключает его управляющий терминал к стандартному вводу-выводу текущего процесса. Это часто используется, чтобы обмануть программы, которые настаивают на чтении из управляющего терминала.6061Функции *master\_read* и *stdin\_read* должны читать из файлового дескриптора. По умолчанию при каждом вызове читается 1024 байта.62