2012-07-24 42 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

相關問題