L'extrémité esclave du pseudoterminal fournit une interface qui se comporte exactement comme un terminal classique. Un processus qui s'attend à être connecté à un terminal peut ouvrir l'extrémité esclave d'un pseudoterminal et être piloté par un programme qui a ouvert l'extrémité maître. Tout ce qui est saisi sur le maître est fourni au processus sur l'esclave comme si c'était une entrée saisie sur un terminal. Par exemple, saisir le caractère d'interruption (en général Contrôle-C) sur le périphérique maître cause l'envoi d'un signal d'interruption (SIGINT) au groupe de processus en avant-plan qui est connecté à l'esclave. Réciproquement, tout ce qui est saisi sur l'esclave peut être lu par le processus qui est connecté au périphérique maître.
Le flux de données entre le maître et l’esclave est géré de manière asynchrone, à peu près comme le flux de données d’un terminal physique. Les données saisies sur l’esclave seront disponibles rapidement sur le maître, mais pourront ne pas l’être immédiatement. De la même façon, un petit délai de traitement entre une saisie sur le maître et l’apparition de l’effet sur l’esclave pourra exister.
Historiquement, deux API de pseudoterminaux ont évolué : BSD et System V. SUS version 1 a normalisé une API de pseudoterminal basée sur l'interface de System V et cette API doit être utilisée dans tous les nouveaux programmes qui utilisent des pseudoterminaux.
Linux fournit à la fois des pseudoterminaux de type BSD et de type System V (normalisés). Les terminaux de type System V sont souvent appelés pseudoterminaux UNIX 98 sur les systèmes Linux.
Depuis Linux 2.6.4, les pseudoterminaux de type BSD sont considérés obsolètes : leur prise en charge peut être désactivée lors de la construction du noyau en désactivant l’option CONFIG_LEGACY_PTYS. Depuis Linux 2.6.30, cette option est désactivée par défaut dans le noyau standard. Les pseudoterminaux UNIX 98 doivent être utilisés dans les nouvelles applications.
Le noyau Linux impose une limite au nombre de pseudoterminaux UNIX 98 disponibles. Jusqu'à Linux 2.6.3 inclus, cette limite est configurée à la compilation du noyau (CONFIG_UNIX98_PTYS), et le nombre de pseudoterminaux autorisé peut atteindre 2048, avec une valeur par défaut de 256. Depuis Linux 2.6.4, la limite est ajustable de façon 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 utilisés. Pour plus de détails sur ces deux fichiers, consultez proc(5).
Une description de l'ioctl(2) TIOCPKT, qui contrôle l'opération en mode paquet, se trouve dans ioctl_tty(2).
Les opérations ioctl(2) BSD TIOCSTOP, TIOCSTART, TIOCUCNTL et TIOCREMOTE ne sont pas implémentées sous Linux.
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à