2010-02-13 13 views

Respuesta

15

Process Explorer o uno de sus amigos debería ayudar.

+0

debería haber aclarado mi pregunta, en realidad estaba buscando herramienta de 3 ª parte para ver env de un proceso arbitrario – theactiveactor

+1

Sí permite que la veas, pero no es fácil para ver valores largos como PATH o CLASSPATH. Desafortunadamente, parece que no hay un comando de copia disponible. –

+1

Acabo de descubrir que para copiar el valor completo de PATH, puede encontrar la parte visible usando * Cheat Engine * (en el proceso * Process Explorer *) y luego explorar la región de la memoria. Puede copiar el texto completo desde allí. – Ghost4Man

0

Para obtener un entorno de proceso, debe ser capaz de obtener su contexto. Y dentro del contexto, use getenv() para obtener una variable específica.

3

O en PowerShell:

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

Supuestamente, esto no siempre hace lo que cabría esperar, y devuelve * algunas * variables de entorno (como Path) del proceso actual, no la otra: https://blog.gapotchenko.com/eazfuscator.net/reading-environment-variables – piers7

+2

Pasé un poco de tiempo validando esto, y creo que el resultado de Process.StartInfo.EnvironmentVariables parece ser solo basura completa. No parece contener variables que * sé * existen en los procesos hijo que he generado, y es claramente incorrecto para otros procesos (servidor) que se ejecutan bajo otros inicios de sesión. Evitar. – piers7

+1

Los comentarios (y la implementación) en la fuente de referencia .net parecen respaldar esto: ProcessStartInfo solo le da las variables de entorno actuales, * nada que ver con el otro proceso en absoluto *. http://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/ProcessStartInfo.cs,7caf1ab108119a18 También se confirmó con ILSpy – piers7

Cuestiones relacionadas