对于一对一的pipe:
1) 写进程关闭写管道后,读进程继续读管道会导致read返回0;
2) 读进程关闭读管道后,写进程继续写管道会激发SIGPIPE信号,若捕获,则write返回-1;
而对于多对一的pipe:
1)多个写进程关闭写管道后,读进程继续读管道会导致read返回0;(同上)
2)多个读进程关闭读管道后,写进程继续写管道并不会激发SIGPIPE信号,而是写成功返回。(没有试大量数据,少量数据是这样)
疑问:
多个进程和一个进程共享管道在内核有何异同,为什么表现会不一样?
测试代码
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!