J'ai un terminal qui utilise STDIN 3 (/ proc/xxxx/fd/0 ->/dev/pts/3)exécuter une commande dans un autre terminal via/dev/pts
Donc, si (dans un autre terminal) Je fais:
echo 'do_something_command' > /dev/pts/3
La commande est montrée dans mon premier terminal (pts 3), mais la commande n'est pas exécutée. Et si (dans ce terminal pts 3) je suis dans un programme attendant des données de stdin, les données sont écrites à l'écran mais le programme ne les capture pas à partir de stdin. Ce que je veux faire est d'exécuter la commande "do_something_command" non seulement l'afficher.
Quelqu'un peut-il m'expliquer ce comportement? Et bien sûr, comment réaliser mon intention ...
Avez-vous besoin d'appuyer sur Entrée dans '/ dev/pts/3' après avoir reçu des données? – Nullpointer
Je l'ai essayé ... si j'entre dans le terminal (pts 3) après avoir envoyé des données à/dev/pts/3, seule l'entrée est reçue. pas la commande "do_something_command". c'est comme si ça n'existait jamais ... seulement montré. – ton
l'intention réelle est de contrôler mpg123 -R à partir d'un autre terminal. mais je suis curieux de connaître la fonctionnalité pts et ce qui peut ou ne peut pas faire avec. et pourquoi. – ton