Possibile duplicato:
qual è la differenza esatta tra un 'terminale', una 'shell', una 'tty' e una 'console'?
Vedo sempre pts e tty quando uso il whocomando ma non capisco mai come sono diversi? Qualcuno può spiegarmi questo, per favore?
Possibile duplicato:
qual è la differenza esatta tra un 'terminale', una 'shell', una 'tty' e una 'console'?
Vedo sempre pts e tty quando uso il whocomando ma non capisco mai come sono diversi? Qualcuno può spiegarmi questo, per favore?
Risposte:
Un tty è un dispositivo terminale nativo, il backend è emulato dall'hardware o dal kernel.
Un pty (pseudo-dispositivo terminale) è un dispositivo terminale che viene emulato un altro programma (esempio: xterm, screeno sshsono tali programmi). Un pts è la parte schiava di un pty .
(Ulteriori informazioni sono disponibili in man pty.)
Breve riassunto :
Un pty è creato da un processo attraverso posix_openpt()(che di solito apre il dispositivo speciale /dev/ptmx) ed è costituito da una coppia di dispositivi a carattere bidirezionale:
La parte principale, che è il descrittore di file ottenuto da questo processo tramite questa chiamata, viene utilizzata per emulare un terminale. Dopo un po 'di inizializzazione, la seconda parte può essere sbloccata unlockpt()e il master viene utilizzato per ricevere o inviare caratteri a questa seconda parte (slave).
La parte slave, che è ancorata nel filesystem come /dev/pts/x(il vero nome può essere ottenuto dal master attraverso ptsname()) si comporta come un dispositivo terminale nativo ( /dev/ttyx). Nella maggior parte dei casi, viene avviata una shell che la utilizza come terminale di controllo.