Я пытался отправить данные в stdin запущенного процесса. Вот что я делаю:Отправка данных в stdin другого процесса через linux-терминал
В терминале я запустил программу на C++, которая просто читает строку и печатает ее. Код выдержка:
while (true) { cin >> s; cout << "I've just read " << s << endl; }
я получаю PID текущей программы
- я иду
/proc/PID/fd/
- исполняю
echo text > 0
Результат: text
появляется в терминале, где программа запустить. Примечание: не I've just read text
, а просто text
. Что я делаю неправильно и что мне делать, чтобы получить эту штуку для печати 'I've just read text'
?
Как выполнить программу из оболочки? Вы запускаете его как фоновый процесс? – Slava
Нет, я просто забегаю на переднем плане. Что-то меняет? –