예를 들어: 옥탈 값(0으로 시작), 0764는 소유자가 읽기, 쓰기 및 실행 권한을 가지고 있고, 그룹은 읽기 및 쓰기 권한을 가지고 있으며, 다른 하나는 읽기 권한을 가지고 있음을 의미합니다. 이것은 또한 S_IRWXU로 표현될 수 있습니다 | S_IRGRP | S_IWGRP | S_IROTH는 0700|0040|0020|0020|0004 →0764의 또는 운영을 의미합니다. 개념적으로 파이프는 한 프로세스의 표준 출력이 다른 프로세스의 표준 입력이 되도록 두 프로세스 간의 연결입니다. UNIX 운영 체제에서 파이프는 관련 프로세스(프로세스 간 통신) 간의 통신에 유용합니다. 파일 설명자 ID는 open() 또는 pipe() 시스템 호출후 반환되는 각 파일을 식별하는 것입니다. 파일을 읽기 전에 파일을 열어야 합니다. pipe() 시스템 호출시 자동으로 열립니다. 어떤 프로세스에서 포크를 사용할 때 파일 설명자는 자식 프로세스와 상위 프로세스 전반에 걸쳐 열려 있습니다. 파이프를 만든 후 포크를 호출하면 부모와 자식이 파이프를 통해 통신할 수 있습니다. 파일 설명자 0(stdin)이 닫혔기 때문에 dup() 호출이 파이프(fd0)의 입력 설명자(fd0)를 표준 입력에 복제했습니다. 그런 다음 execlp()를 호출하여 자녀의 텍스트 세그먼트(코드)를 정렬 프로그램의 텍스트 세그먼트와 오버레이합니다. 새로 exec`d 프로그램은 스폰너에서 표준 스트림을 상속하기 때문에 파이프의 입력 면을 표준 입력으로 상속합니다! 이제 원래 부모 프로세스가 파이프에 보내는 모든 것이 정렬 시설로 들어갑니다. 단계 4 – 부모 프로세스에서 원치 않는 끝을 닫고, pipe1의 끝을 읽고 파이프2의 끝을 작성합니다.

부모와 자식 모두에서 읽고 파이프에 쓸 수 있지만, 이것은 평소 (인종 상황)가 아닙니다. 따라서 fork() 직후에 한 프로세스는 파이프의 쓰기 끝에 대한 설명자가 닫고 다른 프로세스는 읽기 끝에 대한 설명자닫습니다. 따라서 예제에서 부모는 설명자 myPipe[1]를 닫은 다음 시스템 호출 wait()를 호출하여 myPipe[0]에서 데이터를 수신할 때까지 기다립니다. 자식 프로세스는 설명자 myPipe[0]를 닫은 다음 부모 프로세스를 읽을 수 있도록 myPipe[1]로 문자를 보냅니다. 그런 다음 자식 프로세스는 쓰기 파일 설명자의 복사본을 닫습니다.