神奇的 Linux 上是否可以创建这样一个文件

2017-05-05 21:16:05 +08:00
 suconghou

一个有大容量的管道文件, 类似于 mkfifo创建的管道文件,但是拥有较大的缓存区,不会立即阻塞,写入到一定数据才会阻塞写,例如 100MB, 类似于golang中的带缓冲的 chan

1820 次点击
所在节点    问与答
2 条回复
egen
2017-05-05 22:11:48 +08:00
关键字:fnctl F_SETPIPE_SZ
ryd994
2017-05-06 04:05:46 +08:00
F_SETPIPE_SZ 会消耗内核内存
如果对性能要求不高的话,可以用一对 pipe 自己写个中间的 buffer
如果你需要足够的容量,又不想浪费内存,可以写个 fuse

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/359455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX