Python,等同于bash获取远程进程环境变量的命令
Python, equivalent to bash command for getting remote process' environment variables
我目前正在使用 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()
提取环境变量的方法,但它仅适用于当前进程或 parent/child(即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())
我目前正在使用 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()
提取环境变量的方法,但它仅适用于当前进程或 parent/child(即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())