Pregunta

Cada Hola tiene una respuesta. En segundo lugar TTY enviará un hola al TTY emisor y viceversa:

echo 'echo hello > /dev/pts/1' > /dev/pts/0

La primera receptor debe enviar "hola" al remitente original, pero no es así. Lo que está mal?

[Aclaración] Tengo dos conchas en ejecución. / Dev / pts / 1 es el remitente inicial.

¿Fue útil?

Solución

Cuando se envía el comando echo para /dev/pts/0 se acaba de enviar literalmente la salida de ese eco a producción de la otra TTY - eres no de enviarlo a la de otros TTY entrada tampones. Por lo tanto su anidada echo comando simplemente se mostrará en el otro TTY, pero no se ejecuta.

Hay un ioctl() llamada TIOCSTI que se puede utilizar para introducir falso en otro TTY, pero sólo si tiene "escribir" permiso para que otra TTY.

Hace muchos años recuerdo que algunos amigos y yo descubrimos agujeros en algunas versiones de UNIX que no hacen cumplir correctamente los permisos de seguridad en TIOCSTI. Si la raíz había dejado un terminal conectado a algún lugar que era posible hacer el tipo de terminal de usuario root en los comandos en su nombre ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top