wirklich globale Umgebungsvariablen erstellen/ändern

Diefenbaker

Mitglied
Ich mußte leider festellen das die Umgebungsvariablen die ich mit meiner Kommandozeilen-App. setze nur in der Shell verfügbar sind in der ich das Programm aufgerufen habe. Muß sie aber auch von einem Parallel laufenden Programm und von PHP auswerten lassen.

gibt es eine Möglichkeit diese noch anders zu setzen, sodas sie dann wirklich global verfügbar sind?

nur zur Info: benutzte die Umgebungsvariable um den Status anderen Applikationen zur verfügung zu stellen. Man könnte das ja auch über eine Datei machen.. allerding wollte ich davon abgehen um die 0,5 sekündlichen Festplattenzugriffe zu vermeiden.
 
Danke für den Link, aber ich hab mal gegoogelt..
wenn das stimmt hab ich wohl schlechte karten.

Re: Umgebungsvariable dauerhaft verändern oder setzen, löschen

Schlechte Karten!

Es gibt zwar die Funktionen SetEnvironmentVariable (Windows) bzw. setenv (Unix), jedoch setzen diese nur die Umgebung des Programmes selbst und von Kindprozessen des Programmes. Ein Setzen der Umgebung von aufrufenden Elternprogrammen (und dazu gehört auch die Shell bzw. das DOS-Fenster) ist generell nicht möglich (unter Windows NT und Unix jedenfalls).

Das liegt daran, daß jedes Programm nur eine KOPIE der Umgebungsvariablen beim Aufruf mitbekommt. Um Daten zwischen Programmen auszutauschen, empfiehlt sich vielmehr die Verwendung von Pipes, Sockets oder von Dateien, in die ein Programm die Daten schreibt und das andere diese ausliest.
 
moin


Du hättest noch die Möglichkeit dir den Wert direkt aus dem Programm zu holen, also von da o Programm 1 den Wert im Ram abgelegt hat.


mfg
umbrasaxum
 
also Du meinst aus der Umgebung des Programms eins?
wie mache ich das? dazu muß ich doch bestimmt erstmal die ProzessID kennen, oder?
 
Zurück