Просмотр переменных среды процесса в Windows

Есть ли способ просмотреть переменные среды конкретного процесса. Я знаю, что могу видеть их с помощью Process Explorer. Тем не менее, мне нужно использовать их в пакетном или PowerShell сценарий. Есть команда, которая делает это. Могу ли я использовать файл procxp.exe из Проводника процессов, чтобы получить эту информацию для использования в следующем сценарии?

2 ответа

Для Windows это грязно, но несложно с использованием 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функциональность работает в режиме реального времени в Windows, но не гарантируется для всех ОС. В документации сказано следующее:

Примечание. Это может не отражать изменения, внесенные после запуска процесса.

Попробуйте следующее в powershell:

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

ИЛИ ЖЕ

(Get-Process -id {PID here}).StartInfo.EnvironmentVariables
Другие вопросы по тегам