# envp[] mit exec



## sisela (12. Mai 2004)

Hi,
bei exec Aufrufen gibt es neben dem Pfad und der Argumentenliste oder -vektor auch ein envp[] Vektor. Der steht für Environment .
Was bedeutet  Environment  und was steckt dahinter?

Danke für Antwort


----------



## hulmel (12. Mai 2004)

Gib mal "set" in der Shell ein.
Das ganze wird mit dem Environmentpointer übergeben.


----------



## sisela (13. Mai 2004)

Also kann ich das so verstehen, dass das die komplette Systemumgebung ist. Wird z. B. ein neuer Prozess erzeugt (z. B. mit execl) dann muss die komplette Systemumgebung erst mitübergeben werden. Oder passiert das eher automatisch?


----------



## hulmel (13. Mai 2004)

Mit "execl()" wird kein neuer Prozess erzeugt. Der jetzige wird überladen.
Mit "fork()" wird ein neuer Prozess erzeugt. Die Umgebung wird diesem neuen Prozess vererbt.
Wenn Du mit **envp die Umgebung mitgibst (execl) wird der Environmentpointer
des neuen Prozessen damit überschrieben.


----------



## sisela (13. Mai 2004)

Ja danke,
das mit dem erzeugen war wohl ein Fehler aber eigentlich klar gewesen. Also wir das environ vererbt, wenn man nichts extra angibt.

Danke


----------

