2012-07-24 110 views
2

我想从进程B获取进程A的环境变量吗? 与A和B没有关系。 不是系统环境变量,而是已经传递给进程的环境变量!以编程方式获取另一个进程的环境变量?

在Linux或Windows

+0

看起来像它已经回答http://stackoverflow.com/questions/2255968/view-environment-variable-of-process-on-windows – MitziMeow 2012-07-24 09:17:07

+0

请提出这个问题的一个环境或其他。就目前而言,有两个有效的答案,其中一个[已经给出](http://stackoverflow.com/questions/2255968/view-environment-variable-of-process-on-windows)。 – Deanna 2012-07-24 10:40:08

+1

如果回答您的问题,请接受其中一个答案。我看到你已经提出了7个问题,其中包括6个问题,但你从来没有接受过任何一个答案作为你问题的答案。当男孩不厌其烦地给你一个答案时,你至少可以做到这一点。 – MarchingHome 2012-10-22 07:55:20

回答

2

在Linux中,你可以通过阅读(或mmaping)的/ proc/[PID]/ENVIRON做到这一点。从proc(5):

的/ proc/[PID]/ENVIRON

该文件包含用于过程中的环境。条目之间用 空字节('\ 0')分隔,最后可能有空字节。因此,打印出 环境过程1,你会怎么做:

 $ (cat /proc/1/environ; echo) | tr '\000' '\n' 
2

环境变量显示在/proc/PID/environ

$ cat /proc/19065/environ 
DISPLAY=localhost:0.0SHELL=/bin/bashPWD=/home/phil... 

退房this问题。

+0

如果进程之间确实没有关系,则不起作用。需要成为根用户或同一用户。 – akostadinov 2012-07-24 09:24:54

+0

@akostadinov这是有点用户priviliges和访问级别。 – Deanna 2012-07-24 10:38:09

相关问题