ptmx, pts - основной
и
подчинённый
псевдо-терминал
The file
/dev/ptmx (the pseudoterminal multiplexor device) is a character
file with major number 5 and minor number 2, usually with mode 0666 and
ownership root:root. It is used to create a pseudoterminal master and slave
pair.
When a process opens
/dev/ptmx, it gets a file descriptor for a
pseudoterminal master and a pseudoterminal slave device is created in the
/dev/pts directory. Each file descriptor obtained by opening
/dev/ptmx is an independent pseudoterminal master with its own
associated slave, whose path can be found by passing the file descriptor to
ptsname(3).
Перед
открытием
подчинённого
псевдо-терминала
вы должны
передать
дескриптор
файла
основного
терминала
в
grantpt(3) и
unlockpt(3).
Когда
основной и
подчинённый
псевдо-терминалы
будут
открыты,
подчинённый
предоставляет
процессам
интерфейс,
идентичный
обычному
терминалу.
Данные,
записываемые
на
подчинённый
терминал,
появляются
у
файлового
дескриптора
основного
терминала
как
входные
данные.
Данные,
записываемые
на
основной
терминал,
появляются
на
подчинённом
терминале
в виде
входных
данных.
На
практике,
псевдо-терминалы
используются
для
реализации
эмуляторов
терминала,
таких как
xterm(1), где
данные,
считываемые
с
основного
псевдо-терминала,
интерпретируются
приложениями
в том же
виде, как и
данные с
обычного
терминала,
а также в
программах,
реализующих
удалённый
доступ,
таких как
sshd(8), где
данные,
считываемые
с
основного
псевдо-терминала,
отправляются
по сети в
программу-клиент,
подключённую
к
терминалу
или
эмулятору
терминала.
Псевдо-терминалы
также
могут
использоваться
для
отправки
вводимых
данных в
программы,
не
желающих
принимать
обычный
ввод из
канала
(например
su(1)
и
passwd(1)).
/dev/ptmx,
/dev/pts/*
Поддержка
в Linux для
всего
вышеперечисленного
(т.н.
именование
псевдо-терминалов
UNIX 98)
осуществляется
через
файловую
систему
devpts,
которая
монтируется
к
/dev/pts.
getpt(3),
grantpt(3),
ptsname(3),
unlockpt(3),
pty(7)
Русский
перевод
этой
страницы
руководства
был сделан
Alexey, Azamat Hackimov <
[email protected]>, kogamatranslator49
<
[email protected]>, Kogan, Max Is <
[email protected]>, Yuri
Kozlov <
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]