저는 두 개의 자식 프로세스를 생성하기 위해 두 번 포크하는 자식 프로세스를 만들고 싶었습니다. 하나의 출력으로 다른 출력으로 보냅니다. 이 예제 코드를 발견했습니다. 하지만 어떻게 작동하는지 혼란 스럽습니다. 을 찾았습니다 하지만 dup이 사용되는 방식과 작동 방식이 혼란 스럽습니다.이 예제에서는 dup 작업을 어떻게 사용합니까?
즉
close(1);
dup(fd[1]);
close(fd[0]);
close(fd[1]);
출력은 다음 두 번째 갈래 프로세스에 파이프되고 그것의 파이프는 다음과 같이 연결되어 있습니다 :
close(0);
dup(fd[0]);
close(fd[0]);
close(fd[1]);
예, 정확하게 적용됩니다. 'close (1); dup (fd [1]);'시퀀스는'dup2 (fd [1], 1) :'와 같습니다. –