1. Pipe (파이프)
ㅇ [일반] 주로, 유체 수송을 위해 단면이 원형인 속이 빈 통로를 일컬음
※ ☞ `파이프 덕트 튜브 관로` 참조
ㅇ [기계]
- 힘이나 모멘트를 받지 않고, 내부로부터 압력을 받는, 중공(hallow) 원형 부재 (기계요소)
ㅇ [통신]
- 통신 양단간에 데이터가 흐르게되는 데이터 통로
. OSI 7계층모델의 시각에서 보면 주로 표현계층(6 layer)에 속함
.. 단, 터널링 방식에 의한 경우에는 그 이하 계층에서도 가능
ㅇ [전산]
- Unix/Linux 쉘 환경하에서, 두 프로세스 상호간에, 프로세스간 통신(IPC)을 위한 방법 중 하나
. 이는 두 개의 프로세스 간에, FIFO 큐(Queue)로 구성된 직렬 형태의 통신 연결로써,
. 한 프로세스의 출력이 다른 프로세스의 입력이 됨
- 이때의 방향성은 단방향성(Uni-directional)을 갖게됨
2. [전산 / UNIX] 파이프 (Pipe)
ㅇ Pipe에 의한 프로세스 간에 정보교환
- 공통 파일(common file)(즉, 스트림)을 공유함으로써 이루어짐
. 한 프로세스가 공통 파일에 출력을 하면, 다른 한 프로세스가 그 파일을 입력함으로써,
. 그렇게 두 프로세스 간에 직렬 데이타 전송이 이루어짐
ㅇ 파이프의 例)
- 명령어의 출력을, less 명령어로 보거나, grep 명령어로 검색하는 등이 가능
- ls | pr 은, ls를 수행한 표준출력이, pr(프린터)의 표준입력으로 전달 됨
ㅇ 파이프 구분
- Unnamed Pipe (익명 파이프)
. 대개, 부모 프로세스와 자식 프로세스 간의 통신을 위해, 임시적으로 만들어 이를 사용
. 이때, 외부 다른 프로세스는 이에 접근 못함
. 통상, 쉘 내 2개 프로세스 간 입출력을 연결하는 통로로써 사용
.. 例) ps -ef | grep ... 등
- Named Pipe (명명된 파이프)
. 파이프에 이름을 붙여, 외부에서 접근 가능, 구별 가능케 한 것을 Named Pipe라고 함
. 같은 화일시스템 체계를 사용하는 다른 프로그램들 간의 통신을 위해 사용