Один раз у меня есть родитель, выполняющий grep
, а потомок, выполняющий ls -la
в конвейере, подобный ls -la | grep something
, и он работает как требуется. Родитель ждет ребенка, чтобы закончить. Но теперь в противоположном случае родитель выполняет ls -la
и дочерний grep
. Родитель ждет, пока ребенок закончит, а ребенок ждет, пока он не станет. Как избежать тупика? Должен ли я выполнить их параллельно и сохранить вывод в буфер. Как это сделать, когда выполнение выполняется execvp?