hallo hab ihr nen klein programmcode allerdings werd ich nicht so wirklich schlau raus, was dup/dup2 da machen, sie sind zum kopieren vvon fd's das weiss ich wohl aber ich steig dennoch nicht dahinter was im programm genau sie da machen, hoffe kann mir jemand erklären
Code:
int main ( ) {
pid_ t pid ;
int fd [2] , fdf ;
pid = fork( );
if ( pid == 0 ) {
pipe(fd) ;
pid = fork( ) ;
i f ( pid == 0 ) {
close(fd[0]) ;
dup2(fd[1],STDOUT_FILENO);
close(fd[1]);
fdf = open ( "x" , O_RDONLY );
dup2 (fdf ,STDIN_FILENO ) ;
close(fdf) ;
execlp("cat" , "cat" , NULL) ;
}
close(fd[1]) ;
dup2(fd[0],STDIN_FILENO ) ;
close(fd[0]) ;
execlp("wc" , "wc" , "-w",NULL) ;
}
wait(NULL);
}