linux – ¿Qué se almacena en los archivos / dev / pts y podemos abrirlos?

Pregunta:

Según mi conocimiento, los archivos /dev/pts se crean para sesiones ssh o telnet.

Respuesta:

No se almacena nada en /dev/pts . Este sistema de archivos vive puramente en la memoria.

Las entradas en /dev/pts son pseudo-terminales (pty para abreviar). Los núcleos Unix tienen una noción genérica de terminales . Un terminal proporciona una forma para que las aplicaciones muestren la salida y reciban la entrada a través de un dispositivo terminal . Un proceso puede tener un terminal de control ; para una aplicación en modo texto, así es como interactúa con el usuario.

Los terminales pueden ser terminales de hardware ("tty", abreviatura de "teletipo") o pseudo-terminales ("pty"). Los terminales de hardware se conectan a través de alguna interfaz, como un puerto serie ( ttyS0 ,…) o USB ( ttyUSB0 ,…) o mediante una pantalla de PC y un teclado ( tty1 ,…). Los pseudo-terminales son proporcionados por un emulador de terminal, que es una aplicación. Algunos tipos de pseudo-terminales son:

  • Las aplicaciones GUI como xterm, gnome-terminal, konsole,… transforman los eventos del teclado y del mouse en entrada de texto y muestran la salida gráficamente en alguna fuente.
  • Aplicaciones de multiplexor como entrada y salida de relé de pantalla y tmux desde y hacia otro terminal, para desacoplar aplicaciones en modo texto del terminal real.
  • Aplicaciones de shell remotas como sshd, telnetd, rlogind,… retransmiten entrada y salida entre un terminal remoto en el cliente y un pty en el servidor.

Si un programa abre un terminal para escribir, la salida de ese programa aparece en el terminal. Es común que varios programas se envíen a un terminal al mismo tiempo, aunque esto puede resultar confuso en ocasiones, ya que no hay forma de saber qué parte de la salida proviene de qué programa. Los procesos en segundo plano que intentan escribir en su terminal de control pueden ser suspendidos automáticamente por una señal SIGTTOU .

Si un programa abre un terminal para lectura, la entrada del usuario se pasa a ese programa. Si varios programas están leyendo desde el mismo terminal, cada carácter se enruta de forma independiente a uno de los programas; esto no se recomienda. Normalmente, solo hay un único programa que lee activamente desde el terminal en un momento dado; los programas que intentan leer desde su terminal de control mientras no están en primer plano son automáticamente suspendidos por una señal SIGTTIN .

Para experimentar, ejecute tty en una terminal para ver cuál es el dispositivo terminal. Digamos que es /dev/pts/42 . En un shell de otra terminal, ejecute echo hello >/dev/pts/42 : la cadena hello se mostrará en la otra terminal. Ahora ejecute cat /dev/pts/42 y escriba en la otra terminal. Para eliminar ese comando cat (que hará que el otro terminal sea difícil de usar), presione Ctrl + C.

En ocasiones, escribir en otro terminal es útil para mostrar una notificación; por ejemplo, el comando de write hace eso. Normalmente no se realiza la lectura desde otro terminal.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım