【发布时间】:2012-11-14 12:05:06
【问题描述】:
我的程序有两个进程。一个进程写入 FIFO(命名管道)并且必须等到另一个进程从 FIFO 读取,然后等待该进程返回结果(写入 FIFO 以供该进程读取)。 我的问题是如何知道数据是由另一个进程从 FIFO 中读取的,然后调用 read() 系统调用以获得结果?
【问题讨论】:
标签: unix named-pipes
我的程序有两个进程。一个进程写入 FIFO(命名管道)并且必须等到另一个进程从 FIFO 读取,然后等待该进程返回结果(写入 FIFO 以供该进程读取)。 我的问题是如何知道数据是由另一个进程从 FIFO 中读取的,然后调用 read() 系统调用以获得结果?
【问题讨论】:
标签: unix named-pipes
大多数 UNIXen 都有双向管道(人管)
Linux,IIRC 没有这些,所以你需要使用socket_pair,它可以方便地使用提供大致相同功能的 UNIX 域套接字。
根据我的经验,移植代码通常只需要通过调用socket_pair 来替换对pipe 的调用
【讨论】: