Dieses Bild zeigt, wie Pseudo-Terminals funktionieren:
Wenn zwei Terminalemulatoren geöffnet sind, kann ich die Zeichenfolge "Hello"
vom ersten Terminalemulator an den zweiten Terminalemulator senden :
echo "Hello" > /dev/pts/1
Wenn dieser Befehl ausgeführt wird, wandert die Zeichenfolge "Hello"
von der Slave-Seite des zweiten Pseudo-Terminals zur Master-Seite des zweiten Pseudo-Terminals und wird dann auf dem Emulator des zweiten Terminals angezeigt.
Ist es nun möglich, Daten in die entgegengesetzte Richtung zu senden, dh Daten an die Shell anstelle des Terminalemulators (oder an den Prozess, den die Shell ausführt) zu senden?
Antworten:
Jeder Prozess verfügt über 3 Standard- "Dateideskriptoren".
Sie müssen die PID des Shell-Prozesses ermitteln und können dann Folgendes tun:
Dadurch wird der Test in der Standardausgabe des Shell-Prozesses gedruckt
quelle