리눅스 프로세스간 통신에 대한 질문요~

kknd345의 이미지

리눅스 환경에서 제가 만약 star.out 라는 프로그램을 만들었다고 했을 때요

A가 star.out 을 실행하고
B가 star.out 을 실행했을때

A와 B는 서로 다른 프로세스를 생성 시킨 거잖아요

그런데 A의 프로세스와 B의 프로세스는 통신이 되어야 하거든요

fork 로 복사한 프로세스는 코드에서 파이프로 통신을 하면 된다지만...

위 같은 경우에는 어떻게 통신을 해야 하나요?
( 자료를 뒤져야 하는데 무엇을 검색해야 할지도 모르겠네요 ㅜㅜ.)

익명 사용자의 이미지

System V interprocess communication (IPC) 를 사용하면 됩니다

익명 사용자의 이미지

약속장소를 정해두세요.
공유메모리, 파일, 등등..
그리고 그 위치의 값을 레퍼런스하면 가능할것같습니다.

lovemyin의 이미지

Advanced programming in the UNIX environment 책의 501 페이지를 보시면 사용 방법에 대해 자세히 나와있습니다.

일반 TCP/IP 구현과 비슷합니다.

shared memory는 제거하는 부분이 미약하기 때문에 안좋은 면이 있지만 속도 면에서는 빠르다는 장점이 있습니다.

/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/