로딩
요청 처리 중입니다...

69. [Unix] 프로세스 간 통신(IPC) - FIFO 간략 소개 및 사용법

 69. [Unix] 프로세스 간 통신(IPC) - FIFO 간략 소개 및 사용법

이번 포스트에서는 프로세스 간 통신(Inter Process Communication) 중 하나인 FIFO 라는 것을 다뤄본다. IPC 에는 Pipe, Message Queue 등 여러가지 방법이 있지만, 굳이 FIFO를 쓰는 이유는 쓰기 쉽기도 하지만, 서로 다른 세션에 있는 프로세스들끼리도 통신이 가능하다는 점이다.

또한 파일 입출력을 통해서 통신을 하게 되므로 직관적이라서 이해하기 좋다는 장점도 있다. 또한 어찌 잘 하면 server(producer) 와 client (consumer) 의 관계를 1:n 으로 하여서 사용할 수 있다곤 한다.

근데 그럴 바에는 유닉스 소켓을 쓰는게...? 여기서 잠깐 개념을 짚고 넘어가자면....

Server (Producer) 는 데이터를 전송하는 주체이고 Client (Consumer) 는 데이터를 받는 주체이다. Server 가 값을 전송하면, 이를 Client 가 인지하여 값을 가져오는 형식이다.

소스코드로 이해해보자. 참고 : 아래 예제...