【发布时间】:2011-10-04 10:37:43
【问题描述】:
我创建了一个 fifo 管道
$ mkfifo pipename
现在,如果我在其中写入一些东西,命令将不会返回,
$ echo "foo" > pipename
直到我读到它:
$ cat < pipename
foo
另外,读取命令在写入内容之前不会返回。
现在,我想创建一个这样的东西(实际上,也许这个东西不应该被认为是管道,而是某种缓冲区)
- 无论管道中有没有东西,读取命令都会立即返回(如果管道为空,则读取应立即返回零字节)
- 写命令立即返回
谢谢
【问题讨论】:
-
这种行为很难实现。最好知道为什么您担心将数据写入磁盘以及您试图通过此实现的目标。可能会有更好的设计,它以不同的方式做你想做的事。