Если у меня есть программа командной строки, выполняемая как фоновый поток (AKA с ./program &), который взаимодействует с командной строкой, как я могу отправлять ей команды? Есть ли способ (скажем, с использованием 'pipe') отправлять символы, как если бы они вводились в командной строке?
Пример упрощенной командной строки:
Без & (обычный случай):
~/home/temp> ./testprogram
~/home/temp> Welcome to Testprogram. Enter command:
~/home/temp> Welcome to Testprogram. Enter command: quit
~/home/temp> Goodbye!
С & (мой случай!):
~/home/temp> ./testprogram &
~/home/temp> Welcome to Testprogram. Enter command:
~/home/temp> quit
~/home/temp> Command not found.
A ps -e | Тестовая программа grep показывает, что он все еще работает, но теперь никогда не может завершиться вне команды kill.
То, что было бы идеально, это что-то вроде следующего:
~/home/temp> ./testprogram &
~/home/temp> Welcome to Testprogram. Enter command:
~/home/temp> quit
~/home/temp> Command not found.
~/home/temp> quit | /cat/proc/testprogram
~/home/temp> Goodbye!
Как именно мне это сделать?