2009-08-31 3 views
7

"mkfifo"로 만든 파이프와 같은 명명 된 파이프를 만들고 싶습니다. 단 한 가지주의해야합니다. 나는 파이프를 양방향으로하고 싶다. 즉, 프로세스 A가 FIFO에 쓰기를 원하고 프로세스 B가 프로세스를 읽고 그로부터 프로세스를 읽는 것을 원합니다. "mkfifo"로 작성된 파이프는 프로세스 A가 파이프에 기록 된 데이터를 읽을 수있게합니다. 일반적으로 두 개의 파이프를 사용 하겠지만 실제 장치를 시뮬레이션하려고하므로 open(), read(), write() 등의 의미를 가능한 실제 장치와 유사하게하고 싶습니다. 두 파이프 또는 명명 된 소켓을 사용하지 않고이 작업을 수행하는 방법을 알고있는 사람은 누구입니까?"mkfifo"생성과 비슷하지만 양방향성을 가진 명명 된 파이프

답변

5

유닉스 도메인 소켓을 사용하십시오.

오, 당신은 유일하게 사용 가능한 솔루션, 즉 유닉스 도메인 소켓을 사용하고 싶지 않다고하셨습니다.

그런 경우 두 개의 명명 된 파이프를 열거 나 처리하지 않아도됩니다. 물론 오픈 소스 시스템 용으로 자체 장치 드라이버를 작성할 수도 있습니다. 닫힌 소스 시스템 (Windows, AIX, HP-UX)에서는 더 어려울 수 있습니다.

4

또는 pty ("가상 터미널 인터페이스"). man pty.

+3

pty에는 일반적으로 원하지 않는 것들이 많이 있습니다. 모든 터미널 훈련과 마찬가지로. 그러나 그것을 언급하는 것은 상자 밖에서 생각하고 있습니다. –