我当前正在使用 Bash 命令 ps eww
为了获取所有进程的环境变量。
例如,如果我运行以下命令:
a=a b=b c=c sleep 1000
ps eww | grep sleep
的输出将是:
23709 s007 S 0:00.00 sleep 1000 a=a b=b c=c TERM_PROGRAM=Apple_Terminal ...
在Python中,我读过psutil
包中有 environ()
提取环境变量的方法,但它仅适用于当前进程或父/子进程(即 psutil.Process().environ()
或 psutil.Process().Parent().environ()
等)。
也许有一种方法可以获取每个生命进程的环境(根据名称或任何其他属性)?
最好,此选项将作为 python 2.7.1x 的一部分出现在嵌入式软件包中
谢谢
最佳答案
Process
的构造函数接受 pid 作为参数:
proc = psutil.Process(pid)
print(proc.name(), proc.environ())
或者您可以使用 process_iter
迭代所有进程。并根据需要过滤它们:
for proc in psutil.process_iter():
if proc.name() == 'sleep':
print(proc.environ())
关于Python,相当于bash命令,用于获取远程进程的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58972330/