¿Cómo puede una aplicación acceder a la variable de entorno establecida por otra aplicación?

StackOverflow https://stackoverflow.com/questions/1013383

Otros consejos

Las variables de entorno se heredan de los procesos secundarios, pero cada elemento secundario obtiene una copia; si cambia el entorno del elemento primario posteriormente, esto no se reflejará en el elemento secundario.

Esto es por razones de seguridad: si las variables se compartieran, los procesos podrían verse en la memoria del otro, lo que causaría todo tipo de problemas.

Entonces, la solución es establecer la variable antes de comenzar el nuevo proceso.

Si necesita comunicarse con un proceso secundario existente, use una tubería.

Cada aplicación se ejecuta con su propia copia del entorno, por lo que un proceso secundario no puede influir en el entorno del padre. Esto es cierto hasta CreateProcess, donde el entorno es un parámetro de entrada / opcional, es decir, unidireccional.

Hay muchos mecanismos IPC que tiene disponibles, desde canalizaciones con nombre a sockets hasta memoria compartida a archivos ... la lista continúa.

Pero sospecha que los archivos serán los más fáciles para usted.

Puede hacer que el proceso hijo cree un archivo que contenga los pares de nombre / valor que desea y que la aplicación que realiza la llamada pueda cargar y usar. El formato podría ser algo básico como:

clave = valor clave2 = valor2

un poco más complejo (pero quizás más fácil de trabajar) como XML ... o cualquier formato personalizado que desee.

El comando debe ejecutarse dentro del entorno del proceso actual. Normalmente, bash ejecutará todos los procesos como un proceso secundario que recibe una copia de solo lectura del entorno del padre y crea una nueva entrada cada vez que se modifica una variable.

Dot (.) es un comando que no debe confundirse con la especificación del directorio actual. El comando dot hace que el siguiente comando se ejecute dentro del entorno del padre. De esta manera, las variables de entorno del proceso son las variables de entorno del proceso de llamada.

scroll top