По какой-то причине я не могу понять это правильно, я хочу называть «ls -l» и «tail -n 2» по конвейеру, чтобы последние два файла в списке файлов отображали , Вот код:Использование простого конвейера unix
int pipefd[2];
pipe(pipefd);
int id = fork();
if(id == 0)
{
dup2(pipefd[1], 1);
close(pipefd[1]);
execvp("ls", (char*[]){"ls", "-l", NULL});
}
else
{
dup2(pipefd[0], 0);
execvp("tail", (char*[]){"tail", "-n", "2", NULL});
waitpid(id, NULL, 0);
close(pipefd[0]);
}
return 0;
В чем проблема в следующем коде? Я чувствую, что у меня есть недоразумение здесь, я искал много, и никакого ответа не был найден в интернете ...
Большое спасибо! Работая, я понял свою проблему. – Jonathan
Как насчет 3 процессов, кстати? – Jonathan
Ну, идея остается прежней. Если вы скажете мне, что вы хотите сделать с этими 3 процессами, я постараюсь помочь. –