首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管壳里的管道是普通管道吗?

管壳里的管道是普通管道吗?
EN

Stack Overflow用户
提问于 2018-02-02 22:35:30
回答 1查看 224关注 0票数 2

在操作系统概念第145页(Avi Silberschatz,第9版)中,它指出:

注意到普通管道需要在和系统上的通信进程之间建立父子关系。这意味着这些管道只能用于同一台机器上进程之间的通信。

但是,当我在linux机器上执行命令ps -el | grep 0时,进程ps和grep都将bash作为父进程。其他资源确认外壳管道是单向的普通管道。如果需要父子关系,为什么ps和grep进程是属于bash的兄弟姐妹?为了证实我对管道的理解,教科书中的陈述是大错特错,还是我在这里误解了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-02-03 08:50:57

该语句为true,但必须与描述符继承混合解释。它的意思是,要建立一个管道,你需要父子关系,而不是与管道的沟通是可能的,只有在父母和孩子之间。因此,在您的示例中,bash创建了管道,并将其传输到子程序ps和grep (一个在其中写,另一个读)。因此,两个孩子都与父母创建的管道进行通信。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48591857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档