关于有名管道有几个不明白的地方
mkfifo好像没有制定生成的fifo文件都多大,那么fifo文件能放多少数据呢。
如果有个进程死循环地向fifo写入实时数据,会出现什么情况?
每写一次就刷掉旧的数据写上新的数据吗?还是数据进行排队,数据超出文件容量了,排在队首
的数据自动出队,保持队伍的更新?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我指的具体情况并非描述符阻塞,而是说fifo操作的细节,比如用只读模式打开后会在open阻塞
是 man 2 write :)阻塞与否是与 fd 相关,与 fifo 无关的。
若描述符是非阻塞的,缓冲区写满后会EAGAIN错误,具体情况 man fifo
1:fifo文件能放多少数据呢。:
大小为PIPE_BUF
2:如果有个进程死循环地向fifo写入实时数据,会出现什么情况?
阻塞,直到有读进程读取数据
3:每写一次就刷掉旧的数据写上新的数据吗?还是数据进行排队,数据超出文件容量了,排在队首 的数据自动出队,保持队伍的更新?
排队,阻塞