2010-02-13 3 views

ответ

15

Process Explorer или один из его друзей должен помочь.

+0

должен осветленной мой вопрос, я на самом деле ищет 3-й инструмент партии для просмотра окр произвольного процесса – theactiveactor

+1

Это позволит вам увидеть, но это не так просто для просмотра длинных значений, таких как PATH или CLASSPATH. К сожалению, похоже, что нет команды копирования. –

+1

Я только что узнал, что для копирования полного значения PATH вы можете увидеть видимую часть с помощью * Cheat Engine * (в процессе * Process Explorer *), а затем просмотреть область памяти. Вы можете скопировать полный текст оттуда. – Ghost4Man

0

Чтобы получить среду процесса, вы должны иметь возможность получить ее контекст. И в контексте используйте getenv() для получения определенной переменной.

3

Или в PowerShell:

(Get-Process -id 5060).StartInfo.EnvironmentVariables 
(Get-Process notepad).StartInfo.EnvironmentVariables 
+2

Предполагается, что это не всегда делает то, что вы ожидаете, и возвращает * некоторые переменные среды (такие как Path) из текущего процесса, а не другие: https://blog.gapotchenko.com/eazfuscator.net/read-environment-variables – piers7

+2

Я провел некоторое время, проверяя это, и я думаю, что выход из Process.StartInfo.EnvironmentVariables кажется просто полным нежелательным. Кажется, что он не содержит переменных, которые я * знаю * существуют в дочерних процессах, которые я породил, и это явно неправильно для других (серверных) процессов, работающих под другими входами. Избегайте. – piers7

+1

Комментарии (и реализация) в источнике ссылок .net, похоже, поддерживают это: ProcessStartInfo просто дает вам текущие переменные среды, * ничего общего с другим процессом вообще *. http://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/ProcessStartInfo.cs,7caf1ab108119a18 Также подтверждено с помощью ILSpy – piers7

Смежные вопросы