【发布时间】:2012-12-05 23:54:24
【问题描述】:
对于我的系统编程课程,我正在尝试使用管道在父进程和子进程之间进行通信。我有大量文本 (>64kB) 我想使用管道发送到子进程。子进程会定期读取文本。 在写的时候,如何检查管道是否已满?另外,我如何反复检查缓冲区是否已被清空(通过被子进程读取)并将下一个块写入缓冲区? 我知道我可以将整个字符串写到一个文件中,但我只是好奇是否有办法使用管道来实现这一点。
【问题讨论】:
-
好吧,如果你继续写,它会阻塞,直到孩子读到一些数据,但我假设这不是你想要的?
-
你没有尝试做这项工作是有充分理由的吗?到底是什么原因?
-
如果我让另一个子进程写入管道怎么办?这会解决父进程的阻塞问题,不是吗?
-
我没有尝试让它工作,因为我只是使用一个临时文件来实现它。我有一种感觉会变得更容易。