unix - 子进程之间的管道
问题描述
是否可以在 2 个或多个子进程之间创建管道?
如果是这样,它必须由父亲创建还是可以由其中一个孩子创建?
解决方案
是的,可以在子进程之间创建管道。
管道标识符需要两端都知道才能连接到它 - 但是当它们还没有连接时,它们应该如何交换这个标识符呢?这就是为什么通常管道是由一个共同的祖先创建的,该祖先在创建时将这个共同的标识符传达给它的所有子代。
您似乎正在寻找的是命名管道- 这些可以通过众所周知的(按照惯例)名称打开,而无需先接收信息。但是,命名管道与进程的生命周期无关 - 您需要有一些外部实例来在不再需要它们时创建和销毁它们。否则,他们将继续使用系统资源,直到系统重新启动。
推荐阅读
- javascript - JS 功能阻止我使用@media screen 更改 div 高度
- c - 按下按钮时如何返回初始屏幕?
- automation - Ansible 在不终止进程的情况下运行任务
- python - DAG 运行已启动,但任务仍处于 no_status
- pandas - ValueError:组装映射至少需要指定 [year,month,day]:[day,month,year] 缺失
- xamarin.forms - 当更改 CollectionView 中的对象时,会影响多个对象
- java - java:不兼容的类型:T 无法转换为 java.lang.String
- java - 将数据插入具有多列的关系表的最佳实践(无 ORM)
- gitlab - gitlab:在作业中使用之前的脚本有什么用
- c# - System.Json - 属性序列化跳过的自定义规则