IPC - 파이프 (Pipe)

Pipe(파이프) 기법

image

기본적인 파이프 기법은 단방향 통신으로 구성되어 있습니다. Half-Duplex 통신이라고 불리기도 합니다.

두 개의 프로세스를 연결하여 한 쪽에서는 데이터를 write하고, 다른 한 쪽에서는 read만 할 수 있습니다. 또는 한 프로세스의 출력 스트림을 다른 프로세스의 입력 스트림으로 사용할 때 사용됩니다.

C언어에서 fork()로 자식 프로세스를 생성했을 때, 부모와 자식간의 통신도 파이프를 통해 이루어지게 됩니다.

아래 예제를 통해 파이프 코드를 살펴보도록 하겠습니다.

Pipe 예제 코드

1. 출력 스트림을 입력 스트림으로 사용

Mac OS의 iterm에서 디렉토리 내 디렉토리, 파일을 보여주는 ls코드로 예제를 만들어 보겠습니다.

ls -al를 입력하여 아래와 같은 화면이 출력되었습니다.

img.png

위 폴더 중 단어 code가 포함된 결과물만을 출력할 때 파이프 라인을 사용할 수 있습니다.

ls -al | grep code

  • 파이프 라인을 통하여 위 1차 출력을 입력으로 받고, 그 중 code가 포함된 결과물을 가져 옵니다.
  • 여기서 |가 파이프 라인을 의미합니다.

img_1.png

Author

Inwoo Jeong

Posted on

2021-10-12

Updated on

2021-10-14

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.

댓글