为什么 c 语言使用管道时读的进程要关掉写的进程描述符?

2018-08-01 15:02:11 +08:00
 Nicolay
c 语言使用管道做进程间通信,为什么教程上强调读的进程要关掉写的管道描述符,写的进程要关掉读的管道描述符?
2574 次点击
所在节点    Linux
7 条回复
Nicolay
2018-08-01 15:03:04 +08:00
顶楼~
Nicolay
2018-08-01 15:03:24 +08:00
顶楼 2~
Nicolay
2018-08-01 15:03:31 +08:00
顶楼 3~
zyp0921
2018-08-01 15:08:39 +08:00
因为管道是单向的
Nicolay
2018-08-01 15:10:13 +08:00
@zyp0921 感谢回复~如果我在代码里读的进程只读不写,写的进程只写不读,是否还有必要这样做~
GPIO
2018-08-01 15:15:51 +08:00
@Nicolay 没必要。例如你可以直接使用管道命令 | 来实现,A | B,A 的输出一直作为 B 的输入。
Nicolay
2018-08-01 15:45:49 +08:00
@GPIO 感谢~请问和造成阻塞有没有关系,

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

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

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

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

© 2021 V2EX