#c #linux #command #exec
#c #линукс #команда #выполнение
Вопрос:
выполняя execvp("wc", { "wc", "-c", NULL } );
, а затем отправляя текст в stdin процесса, процесс никогда не заканчивается, он продолжает ждать нового stdin
.
в моем терминале также делаю wc -c
, а затем пишу текст, он никогда не выходит из процесса после нажатия ввода только несколько раз ctrl—z заканчивается, но тогда я не получаю результата
Комментарии:
1. Опубликуйте свой фактический код. Не могли бы вы сказать автомеханику: «Моя машина не работает. Что в этом плохого?» в тексте и ожидаете реального ответа?
2. а как насчет терминала
3. В терминале вам нужно подать сигнал, что вы вводите ввод с помощью ctrl-d.
4. И в программе, если стандартный ввод wc-это конец канала для чтения, вам нужно закрыть все копии конца записи, чтобы он увидел конец ввода.
5. решено забыл закрыть stdin