Windows中查看进程环境变量

Windows中查看进程环境变量

有没有办法查看特定进程的环境变量。我知道我可以使用 Process Explorer 查看它们。但是,我需要在批处理或 powershell 脚本中使用它们。有没有命令可以做到这一点。我可以使用 Process explorer 的 procexp.exe 获取此信息以在以下脚本中使用它吗?

答案1

为了视窗,这很混乱,但使用 Python 并不复杂psutil.Process.environ()库函数

在一个终端

$ $ENV:test = 'abc'
$ $PID
108444

在另一个:

$ python -c 'import psutil; print(psutil.Process(pid=108444).environ()["TEST"])'
abc

(请注意,在 Windows 中变量名称是大写的。)


我在 macOS 和 Linux (RHEL8) 中测试了此功能,但它不起作用。此psutil功能在视窗,但并不保证适用于所有操作系统。文档中是这样说的:

注意:这可能无法反映流程开始后所做的更改。

答案2

在 powershell 中尝试以下操作:

(Get-Process {Process image name here}).StartInfo.EnvironmentVariables

或者

(Get-Process -id {PID here}).StartInfo.EnvironmentVariables

相关内容