首页 > 解决方案 > 子进程之间的管道

问题描述

是否可以在 2 个或多个子进程之间创建管道?
如果是这样,它必须由父亲创建还是可以由其中一个孩子创建?

标签: unixprocesspipechild-process

解决方案


是的,可以在子进程之间创建管道。

管道标识符需要两端都知道才能连接到它 - 但是当它们还没有连接时,它们应该如何交换这个标识符呢?这就是为什么通常管道是由一个共同的祖先创建的,该祖先在创建时将这个共同的标识符传达给它的所有子代。

您似乎正在寻找的是命名管道- 这些可以通过众所周知的(按照惯例)名称打开,而无需先接收信息。但是,命名管道与进程的生命周期无关 - 您需要有一些外部实例来在不再需要它们时创建和销毁它们。否则,他们将继续使用系统资源,直到系统重新启动。


推荐阅读