c++ - 我们可以从父进程中读取子进程的环境变量吗

标签 c++ c linux unix

我知道fork会创建一个子进程,然后子进程中的execve会执行设置一些环境变量的程序。

我的任务是,我的父进程 parent1 按照 fork/exec 过程最初创建了一个子进程 Child1,并设置了一个环境变量“CHILD=first”。

稍后在执行父进程时,我创建了另一个子进程 Child2 遵循相同的 fork/exec 过程。此 child2 的环境变量设置为“CHILD=second”。

现在,稍后在父进程的执行中,我必须从 Parent1 读取 child1 和 child2 的所有环境变量,以根据 env 值进行一些操作。是否可以从父进程中读取这些子环境变量?如果可以,我该怎么做?

最佳答案

可以从/proc/<pid>/environ中读取环境, 在 Linux 上。变量由空字符分隔。

关于c++ - 我们可以从父进程中读取子进程的环境变量吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17423343/

相关文章:

linux - 如何正确测量 Linux 中程序的运行时间?

c++ - 类在多个文件上的使用 .h .cpp main.cpp

c++ - 正确链接到 wxWidgets

c - fgets 在输入之前读取上一行

c - fork - 我可以退出 parent 吗?

java - 无法使用 Java 删除 Linux 中的隐藏文件

linux - 每个 Unix 文件描述都有自己的读/写缓冲区吗?

c++ - CPP中的Valgrind和内存泄漏: “Conditional jump or move depends on uninitialised values”

c++ - 为什么 vector 下标超出范围?

c - 向stderr写入数据使程序成为守护进程后退出