Hola. Alguien podría decirme qué hace este fragmento de código. Gracias!
#include <unistd.h>
main(){
pipeline("/usr/bin/yes", "/bin/more");
}
int pipeline(char *proc1, char *proc2){
int fd[2];
pipe(fd);
if (fork()!=0){
close(fd[0]); // No lo necesitamos aqui
close(1); // Cierra la salida estandar
dup(fd[1]);
close(fd[1]); // No lo necesitamos
execl(proc1, proc1, 0);
}
else{
close(fd[1]); // No lo necesitamos
close(0); // Cierra la entrada estandar
dup(fd[0]);
close(fd[0]); // No lo necesitamos
execl(proc2, proc2, 0);
}
}