команда linux «wc» не завершается при запуске с execvp

#c #linux #command #exec

#c #линукс #команда #выполнение

Вопрос:

выполняя execvp("wc", { "wc", "-c", NULL } ); , а затем отправляя текст в stdin процесса, процесс никогда не заканчивается, он продолжает ждать нового stdin .

в моем терминале также делаю wc -c , а затем пишу текст, он никогда не выходит из процесса после нажатия ввода только несколько раз ctrlz заканчивается, но тогда я не получаю результата

Комментарии:

1. Опубликуйте свой фактический код. Не могли бы вы сказать автомеханику: «Моя машина не работает. Что в этом плохого?» в тексте и ожидаете реального ответа?

2. а как насчет терминала

3. В терминале вам нужно подать сигнал, что вы вводите ввод с помощью ctrl-d.

4. И в программе, если стандартный ввод wc-это конец канала для чтения, вам нужно закрыть все копии конца записи, чтобы он увидел конец ввода.

5. решено забыл закрыть stdin