В NodeJS я могу порождать процесс и прослушивать его стандартный вывод, используя spawn().stdout
. Я пытаюсь создать онлайн-терминал, который будет взаимодействовать с этой оболочкой. Я не могу понять, как отправлять нажатия клавиш в процесс оболочки.
Я пробовал это:
echo -e "ls\n" > /proc/{bash pid}/fd/0
Это на самом деле ничего не делает, кроме вывода ls и переноса строки. И когда я пытаюсь tail -f /proc/{bash pid}/fd/0
, я больше не могу даже отправлять нажатия клавиш на открытый bash
терминал.
Я просто бездельничаю, пытаясь понять, как процесс bash
будет интерпретировать клавиши ENTER. Я не знаю, делается ли это через стандартный ввод или нет, поскольку разрывы строк не работают.