Я заметил, что в некоторых проектах с открытым исходным кодом есть много упоминаний о pty
и tty
, может кто-нибудь может сказать мне, что они означают и в чем разница между ними? Благодаря!Что означают pty и tty?
ответ
«tty» первоначально означало «телетайп» и «pty» означает «псевдотелетип».
В UNIX/dev/tty * - любое устройство, которое действует как «телетайп», т. Е. Терминал. (Вызываемый телетайп, потому что это то, что у нас было для терминалов в эти непростые дни.)
Pty - это псевдонима, запись устройства, которая действует как терминал для процесса чтения и записи там, но управляется чем-то другим. Сначала они появились (как я помню) для X Windows и экрана и т. П., Где вам понадобилось что-то, что действовало на другом терминале, но могло быть использовано из другой программы.
tty: телетайп. Обычно это относится к последовательным портам компьютера, к которым подключены терминалы.
pty: pseudoteletype. Ядро предоставило псевдослучайный порт, подключенный к программам, имитирующим терминалы, такие как xterm или экран.
A tty является терминалом (это означает телетайп - оригинальные терминалы использовали линейный принтер для вывода и клавиатуру для ввода!). Терминал - это в основном просто устройство пользовательского интерфейса, которое использует текст для ввода и вывода.
Pty - псевдотерминал - это программная реализация, которая появляется в приложенной программе как терминал, но вместо прямой связи с «реальным» терминалом она передает вход и вывод в другую программу.
Например, когда вы подключились к машине и запустили ls
, команда ls
отправляет свой вывод на псевдотерминал, другая сторона которого прикреплена к демону SSH.
Не могли бы вы дать немного более «точный» пример PTY? Я все еще не понимал, куда они входят, и как их даже называют. Спасибо – user3085931
Может ли кто-нибудь помочь в том, когда и как операционная система '* nix' создает эти псевдотерминалы. –
@darth_coder: они создаются при запросе приложения. Это происходит, когда вы делаете что-то вроде открытия нового графического окна терминала или удаленного входа в систему. – caf
Если запустить команду монтирования без аргументов командной строки, которая отображает файловых систем, установленные в вашей системе, вы заметите строку, которая выглядит так: никто на/разработчике/Очки типа devpts (rw, gid = 5, mode = 620) Это указывает на то, что в/dev/pts устанавливается специальный тип файловой системы devpts. Эта файловая система , не связанная с каким-либо аппаратным устройством, является " magic "файловой системы , которая создается ядром Linux. Он похож на файловую систему/proc
Как и каталог/dev,/dev/pts содержит записи, соответствующие устройствам. Но unlike/dev, который является обычным каталогом,/dev/pts - это специальный каталог, который является cre- , динамически подключаемый ядром Linux. Содержимое каталога меняется со временем и отражает состояние запущенной системы. Записи в/dev/pts соответствуют псевдотерминалам (или псевдо-TTY, или PTY).
Linux создает PTY для каждого нового окна терминала вы открыто и отображает соответствую- запись ИЕ в/разработчика/СТВ акты устройств .The PTY как терминальное устройство, оно принимает ввод с клавиатуры и отображение вывода текста из программы, которые запускаются в нем. PTY пронумерованы, а номер PTY - это имя соответствующей записи в /dev/pts.
Для Например, если номер PTY в новом окне терминала является 7, вызовите эту команду еще одно окно: % эха «Я виртуальный ди»>/DEV/Очки/7 Выхода появляется в новом терминальное окно.
- 1. Как master pty может обнаружить, что вышла ведомая tty?
- 2. Как работают tty, pty, xterm и пользовательский процесс?
- 3. Что означают `:` и `?` В `{:?}`
- 4. Что означают `|` и `&`?
- 5. Что означают операторы: и '
- 6. чтение Python и запись TTY
- 7. PTY/TTY - Что вы не можете сделать с единственным ведомым FD
- 8. Что такое подсистема tty?
- 9. Что означают «\\. \», «\ ?? \», «\\? \», «\\»?
- 10. Что означают $ 1 и $ 2?
- 11. Что означают {и} внутри параметров?
- 12. Что означают __STDC_LIMIT_MACROS и __STDC_CONSTANT_MACROS?
- 13. Что означают «.and» и «где»?
- 14. Python и Django: Что ** означают
- 15. Что означают случаи и методы?
- 16. Что означают $ #, $ 1 и $ 2?
- 17. Что означают * args и ** kwargs?
- 18. Что означают $ и _ в javascript?
- 19. Что означают brk и sbrk?
- 20. Что означают __insn_seqb() и __insn_ctz?
- 21. Что означают `def + @` и `def - @`?
- 22. socat с виртуальной ссылкой tty и fork удаляет ссылку на pty
- 23. IO :: Pty perl модуль cpan solaris установка
- 24. Что особенного в/dev/tty?
- 25. Что означают «длительные задачи»?
- 26. Что (savedInstanceState) означают
- 27. Ошибка установки IO :: Pty Perl
- 28. Что означают эти термины?
- 29. Что означают символы \ x1a
- 30. Что означают значения SchemaAutoAction?
У меня были PTY в PDP-11 RSTS/E в 1976 году ... – EJP
Я думаю, что ptys добавили в Unix в первую очередь для поддержки Telnet, rsh и rlogin. –
@larsmans, у нас был telnet (по крайней мере), прежде чем появился pty - на самом деле, telnet и я оба занялись вычислением того же года, 1969. Я был отчасти в мире DECNET, когда rsh появился в UNIX, поэтому Я не уверен в другом. В любом случае, это часть «и тому подобное». –