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); }

Rispondi quotando
