pty(7) Miscellaneous Information Manual pty(7)
NOM
pty - Interfaces de pseudoterminaux
DESCRIPTION
Un pseudoterminal (parfois abrege en << pty >>) est une paire de
peripheriques virtuels en mode texte qui fournissent un canal de
communication bidirectionnel. Un bout du canal est appele le maitre,
l'autre bout est appele l'esclave.
L'extremite esclave du pseudoterminal fournit une interface qui se
comporte exactement comme un terminal classique. Un processus qui
s'attend a etre connecte a un terminal peut ouvrir l'extremite esclave
d'un pseudoterminal et etre pilote par un programme qui a ouvert
l'extremite maitre. Tout ce qui est saisi sur le maitre est fourni au
processus sur l'esclave comme si c'etait une entree saisie sur un
terminal. Par exemple, saisir le caractere d'interruption (en general
Controle-C) sur le peripherique maitre cause l'envoi d'un signal
d'interruption (SIGINT) au groupe de processus en avant-plan qui est
connecte a l'esclave. Reciproquement, tout ce qui est saisi sur
l'esclave peut etre lu par le processus qui est connecte au
peripherique maitre.
Le flux de donnees entre le maitre et l'esclave est gere de maniere
asynchrone, a peu pres comme le flux de donnees d'un terminal physique.
Les donnees saisies sur l'esclave seront disponibles rapidement sur le
maitre, mais pourront ne pas l'etre immediatement. De la meme facon, un
petit delai de traitement entre une saisie sur le maitre et
l'apparition de l'effet sur l'esclave pourra exister.
Historiquement, deux API de pseudoterminaux ont evolue : BSD et
System V. SUS version 1 a normalise une API de pseudoterminal basee sur
l'interface de System V et cette API doit etre utilisee dans tous les
nouveaux programmes qui utilisent des pseudoterminaux.
Linux fournit a la fois des pseudoterminaux de type BSD et de type
System V (normalises). Les terminaux de type System V sont souvent
appeles pseudoterminaux UNIX 98 sur les systemes Linux.
Depuis Linux 2.6.4, les pseudoterminaux de type BSD sont consideres
obsoletes : leur prise en charge peut etre desactivee lors de la
construction du noyau en desactivant l'option CONFIG_LEGACY_PTYS.
Depuis Linux 2.6.30, cette option est desactivee par defaut dans le
noyau standard. Les pseudoterminaux UNIX 98 doivent etre utilises dans
les nouvelles applications.
Pseudoterminaux UNIX 98
Un maitre de pseudoterminal UNIX 98 est ouvert en appelant
posix_openpt(3) (Cette fonction ouvre le peripherique clone de maitre,
/dev/ptmx ; consultez pts(4)). Apres avoir realise n'importe quelle
initialisation specifique a un programme, change le proprietaire et les
permissions du peripherique esclave avec grantpt(3) et deverrouille
l'esclave avec unlockpt(3), le peripherique esclave correspondant peut
etre ouvert en passant le nom renvoye par ptsname(3) dans un appel a
open(2).
Le noyau Linux impose une limite au nombre de pseudoterminaux UNIX 98
disponibles. Jusqu'a Linux 2.6.3 inclus, cette limite est configuree a
la compilation du noyau (CONFIG_UNIX98_PTYS), et le nombre de
pseudoterminaux autorise peut atteindre 2048, avec une valeur par
defaut de 256. Depuis Linux 2.6.4, la limite est ajustable de facon
dynamique par le fichier /proc/sys/kernel/pty/max, et un autre fichier
relatif, /proc/sys/kernel/pty/nr, indique combien de pseudoterminaux
sont actuellement utilises. Pour plus de details sur ces deux fichiers,
consultez proc(5).
Pseudoterminaux BSD
Les pseudoterminaux de type BSD sont fournis comme des paires
precreees, avec des noms de la forme /dev/ptyXY (maitre) et /dev/ttyXY
(esclave), ou X est une lettre de l'ensemble de 16 caracteres [p-za-e],
et Y est une lettre de l'ensemble de 16 caracteres [0-9a-f] (Les
intervalles precis de lettre dans ces ensembles varient entre les
differentes versions d'UNIX). Par exemple, /dev/ptyp1 et /dev/ttyp1
constituent une paire de pseudoterminaux BSD. Un processus trouve une
paire de pseudoterminaux inutilisee en essayant d'ouvrir chaque maitre
de pseudoterminal avec open(2) jusqu'a ce qu'une ouverture reussisse.
L'esclave de pseudoterminal correspondant peut ensuite etre ouvert (en
remplacant << pty >> par << tty >> dans le nom du maitre).
FICHIERS
/dev/ptmx
Peripherique de clone de maitre UNIX 98
/dev/pts/*
Peripheriques esclaves UNIX 98
/dev/pty[p-za-e][0-9a-f]
Peripheriques maitre BSD
/dev/tty[p-za-e][0-9a-f]
Peripheriques esclaves BSD
NOTES
Pseudoterminals are used by applications such as network login services
( ssh(1), rlogin(1), telnet(1)), terminal emulators such as xterm(1),
script(1), screen(1), tmux(1), unbuffer(1), and expect(1).
Une description de l'ioctl(2) TIOCPKT, qui controle l'operation en mode
paquet, se trouve dans ioctl_tty(2).
Les operations ioctl(2) BSD TIOCSTOP, TIOCSTART, TIOCUCNTL et
TIOCREMOTE ne sont pas implementees sous Linux.
VOIR AUSSI
ioctl_tty(2), select(2), setsid(2), forkpty(3), openpty(3), termios(3),
pts(4), tty(4)
TRADUCTION
La traduction francaise de cette page de manuel a ete creee par
Christophe Blaess , Stephan Rafin
, Thierry Vignaud ,
Francois Micaux, Alain Portal , Jean-Philippe
Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas
Huriaux , Nicolas Francois
, Florentin Duneau
, Simon Paillard , Denis Barbier , David Prevot
et Jean-Paul Guillonneau
Cette traduction est une documentation libre ; veuillez vous reporter a
la GNU General Public License version 3
concernant les conditions
de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE.
Si vous decouvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message a .
Pages du manuel de Linux 6.06 19 novembre 2023 pty(7)