对于一对一的pipe:

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

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

而对于多对一的pipe:

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

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

疑问:

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

 

测试代码

 

相关文章:

  • 2021-10-06
  • 2021-08-11
  • 2021-06-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-22
  • 2021-06-28
  • 2021-11-05
  • 2022-12-23
  • 2021-05-31
  • 2021-06-03
相关资源
相似解决方案