ragazzi sto studiando sistemi distribuiti, le pipe precisamente, e mi sono ritrovato davanti questo pezzo di codice, che dovrebbe esegure in una shell linux il comando "ls | sort". ecco il codice non l ho capito per niente! help!
codice:
#include <sys/types.h>
#include <unistd.h>
pid_t pid;
int pipefd[2];
int main()
{
pipe(pipefd);
if ((pid = fork()) == (pid_t)0) { // processo figlio
close(1); // close stdout (assumed open)
dup(pipefd[1]); // dups arg to min free descriptor
close(pipefd[0]);
execlp("ls", "ls", "-1t", (char *)0);
} else if (pid > (pid_t)0) { // processo padre
close(0); // close stdin (assumed open)
dup(pipefd[0]);
close(pipefd[1]);
execlp("sort", "sort", "-r", (char *)0);
}
return(0);
}