[apue] 多进程管道读写的一些疑问

对于一对一的pipe:

1) 写进程关闭写管道后,读进程继续读管道会导致read返回0;

2) 读进程关闭读管道后,写进程继续写管道会激发SIGPIPE信号,若捕获,则write返回-1;

而对于多对一的pipe:

1)多个写进程关闭写管道后,读进程继续读管道会导致read返回0;(同上)

2)多个读进程关闭读管道后,写进程继续写管道并不会激发SIGPIPE信号,而是写成功返回。(没有试大量数据,少量数据是这样)

疑问:

多个进程和一个进程共享管道在内核有何异同,为什么表现会不一样?

 

测试代码

 

posted @   goodcitizen  阅读(1006)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇
点击右上角即可分享
微信分享提示