是否可以在2个或更多子进程之间创建管道? 如果是这样,它是否必须由父亲创建,或者是否可以由其中一个孩子创建?
答案 0 :(得分:1)
是的,可以在子进程之间创建管道。
管道标识符需要两端都知道才能连接到它 - 但是当它们没有连接时如何交换这个标识符呢?这就是为什么通常管道是由一个共同的祖先创建的,它在创建时将这个公共标识符传递给它的所有子节点。
您似乎要寻找的是 named pipes - 这些可以通过众所周知的(按惯例)名称打开,而不首先接收信息。但是,命名管道与进程的生命周期没有关联 - 您需要有一些外部实例,在不再需要它们时创建并销毁它们。否则,他们将继续使用系统资源,直到系统重新启动。