【发布时间】:2013-07-02 10:35:20
【问题描述】:
我知道fork会创建一个子进程,然后子进程中的execve会执行设置一些环境变量的程序。
我的任务是,我的父进程 parent1 在 fork/exec 过程之后最初创建了一个子进程 Child1 并设置了一个环境变量“CHILD=first”。
后来在父进程的执行中,我又创建了一个子进程 Child2 遵循相同的 fork/exec 过程。这个 child2 有一个环境变量设置为“CHILD=second”。
现在,稍后在父进程的执行中,我必须从 Parent1 中读取 child1 和 child2 的所有环境变量,以根据 env 值进行一些操作。是否可以从父进程中读取这些子环境变量?如果是这样,我该怎么做?
【问题讨论】:
-
使用可以检查使用任何
IPC机制,如管道,.. -
为什么不在父级中保持“子状态”?
-
你为什么要这个?父进程应该在自己的数据结构中维护有关其子进程的有趣信息,可能由进程 ID 索引。
-
见Q&A here。