GNU/Linux >> Tutoriels Linux >  >> Linux

Linux – Stocké dans les fichiers /dev/pts et pouvons-nous les ouvrir ?

A ma connaissance, /dev/pts les fichiers sont créés pour les sessions ssh ou telnet.

Réponse acceptée :

Rien n'est stocké dans /dev/pts . Ce système de fichiers vit uniquement en mémoire.

Entrées dans /dev/pts sont des pseudo-terminaux (pty en abrégé). Les noyaux Unix ont une notion générique de terminaux. Un terminal permet aux applications d'afficher une sortie et de recevoir une entrée via un terminal. Un processus peut avoir un terminal de contrôle — pour une application en mode texte, il s'agit de la façon dont elle interagit avec l'utilisateur.

Les terminaux peuvent être soit des terminaux matériels ("tty", abréviation de "teletype"), soit des pseudo-terminaux ("pty"). Les terminaux matériels sont connectés via une interface telle qu'un port série (ttyS0 , …) ou USB (ttyUSB0 , …) ou sur écran PC et clavier (tty1 , …). Les pseudo-terminaux sont fournis par un émulateur de terminal, qui est une application. Certains types de pseudo-terminaux sont :

  • Les applications graphiques telles que xterm, gnome-terminal, konsole, … transforment les événements du clavier et de la souris en saisie de texte et affichent la sortie graphiquement dans certaines polices.
  • Les applications de multiplexeur telles que l'écran et l'entrée et la sortie de relais tmux depuis et vers un autre terminal, pour découpler les applications en mode texte du terminal réel.
  • Les applications shell distantes telles que sshd, telnetd, rlogind, … relaient l'entrée et la sortie entre un terminal distant sur le client et un pty sur le serveur.

Si un programme ouvre un terminal pour l'écriture, la sortie de ce programme apparaît sur le terminal. Il est courant que plusieurs programmes sortent sur un terminal en même temps, bien que cela puisse parfois prêter à confusion car il n'y a aucun moyen de savoir quelle partie de la sortie provient de quel programme. Les processus d'arrière-plan qui tentent d'écrire sur leur terminal de contrôle peuvent être automatiquement suspendus par un signal SIGTTOU.

Si un programme ouvre un terminal pour la lecture, l'entrée de l'utilisateur est transmise à ce programme. Si plusieurs programmes lisent depuis le même terminal, chaque caractère est acheminé indépendamment vers l'un des programmes ; ce n'est pas recommandé. Normalement, il n'y a qu'un seul programme en cours de lecture active à partir du terminal à un instant donné; les programmes qui tentent de lire à partir de leur terminal de contrôle alors qu'ils ne sont pas au premier plan sont automatiquement suspendus par un signal SIGTTIN.

Pour expérimenter, exécutez tty dans un terminal pour voir quel est le terminal. Disons que c'est /dev/pts/42 . Dans un shell d'un autre terminal, exécutez echo hello >/dev/pts/42 :la chaîne hello s'affichera sur l'autre terminal. Exécutez maintenant cat /dev/pts/42 et tapez dans l'autre terminal. Pour tuer ce cat commande (ce qui rendra l'autre terminal difficile à utiliser), appuyez sur Ctrl +C .

Connexe :Linux – Mettre à niveau la carte mère et le processeur sans réinstaller ?

Écrire sur un autre terminal est parfois utile pour afficher une notification; par exemple le write commande fait cela. La lecture à partir d'un autre terminal n'est normalement pas effectuée.


Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Linux - Pourquoi `/dev/ptmx` et `/dev/pts/ptmx` ne sont pas des fichiers de périphérique ?

  3. Linux – Fusionner /usr/bin et /usr/sbin dans /bin (gnu/linux) ?

  4. Que sont les fichiers /dev/zero et /dev/null sous Linux

  5. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

tty (/dev/tty ) vs pts (/dev/pts) sous Linux

Qu'est-ce que '/dev/null 2&1' sous Linux

Qu'est-ce que /dev/null sous Linux

Linux :Différence entre /dev/console , /dev/tty et /dev/tty0 ?

Quelle est la portabilité de /dev/stdin, /dev/stdout et /dev/stderr ?

Fichiers /proc/cpuinfo et /proc/meminfo sous Linux