Je peux voir la différence entre / dev / tty et / dev / tty0 en testant la méthode fournie à partir de cette question . Mais je m'interroge vraiment sur l'utilisation pratique de ces appareils (comme les situations où ils seront utilisés).
8
/dev/sda
et/dev/sda1
désignent des dispositifs de bloc spécifique (on se trouve une partie de l'autre)./dev/tty
, d'autre part, est un périphérique virtuel lié à aucun autre terminal spécifique.Réponses:
/dev/tty
est le tty de contrôle du processus en cours , pour tout processus qui ouvre réellement ce fichier spécial. Ce n'est pas nécessairement un périphérique de console virtuelle (/dev/tty
n ), et peut être unpty, un port série etc. Par exemple. pour un shell dans un émulateur de terminal sous un serveur X exécuté localement, lesdits programmes forment une chaîne d'interactions telle que:Shell Unix
⇕
/dev/pts/2
(≡/dev/tty
pour ses processus)pilote pty noyau
⇕
/dev/ptmx
émulateur de terminal
⇕ X Window protocole
serveur X
⇕
/dev/tty7
(≡/dev/tty
pour le serveur)console système
zxc↿⇂ [_̈░░]
de l' utilisateur
L'
/dev/tty
utilisation des programmes par les pays utilisateurs comprend:/dev/tty0
est la console virtuelle actuellement active (c'est-à-dire visible sur le moniteur) du système d'exploitation . Ce fichier spécial, peu probable, est utilisé de manière significative par les logiciels système, mais/dev/console
est pratiquement un «alias» pourtty0
et/dev/console
a une grande utilité pour les démons syslog et, parfois, par le noyau lui-même.Expérimentez pour montrer la différence: exécutez un
root
shell surtty3
( Ctrl+ Alt+ F3) ou dans un émulateur de terminal. Maintenantpuis rapidement Ctrl+ Alt+ F2, attendez deux secondes, et Ctrl+ Alt+ quoi que ce soit de retour. Où voyez-vous la sortie?
Et maintenant, le même test pour
/dev/tty0
.la source
sshd
), ou dans unexterm
fenêtre, n'a pas son / dev / tty n spécifique . Il n'interagit pas avec les périphériques de la console système , car il est connecté à un périphérique pseudo-terminal. Cela ne l'empêche pas d'ouvrir / dev / tty n s'il s'agit d'un processus racine ou du même utilisateur connecté à tty n . Sur le point d'ajouter quelques points sur «tty spécifique» à la réponse./ dev / tty est le tty de contrôle pour tout processus. Cela peut être votre coquille.
Si votre processus n'a pas de tty de contrôle, / dev / tty n'est pas disponible, c'est par exemple le cas pour les démons.
Si votre processus a un tty de contrôle, alors / dev / tty est un alias de pilote pour le pilote tty réel que votre processus utilise pour stdin, stdout ou stderr.
Voir
man -s7d tty
pour plus d'informations. Notez que la section où se trouve ce manuel peut différer d'un OS à l'autre et ne doit pas être confondue avec la page de manuel de la section 1. Vérifiez donc par exempleman -k tty
.la source