Hallo, ich möchte wie im Subject beschrieben, den Exit-Code eines Shell-Kommandos in C auswerten. In diesem Fall handelt es sich um eine Netzwerk-Konfiguration mit dem Shellbefehl "pump -i eth0", der bei Verfügbarkeit eines DHCP-Servers gleich alles einstellt und bei Erfolg eine Null zurückgibt. Hier mein erster Versuch: int rc=0; rc=system("pump -i eth0"); Das hat nicht funktioniert, weil in rc eine 5 erscheint. Der nächste Versuch war mit dem Makro WEXITSTATUS: int rc=0, status=0; status=system("pump -i eth0"); rc=WEXITSTATUS(status); In diesem Fall bleibt rc immer Null, auch wenn ich den Shellbefehl fehlerhaft schreibe, so dass er in der Bash -1 zurückgeben würde. Dann hab ich nach diversen man-Pages und Googleien noch einen dritten Versuch gemacht: int rc=0, status=0; status=system("pump -i eth0"); if (WIFEXITED(status)!=NULL) { rc=WEXITSTATUS(status); } Aber da läuft das Programm überhaupt nie in die IF-Abfrage rein, weil WIFEXITED scheinbar immer eine Null zurückgibt, unabhängig davon, ob der Shellbefehl erfolgreich beendet wurde oder nicht. Bei allen o.a. Varianten wird der Befehl übrigens tatsächlich ausgeführt. Wo liegt da mein Denkfehler? Oder wie bekomme ich sonst $? von dem Shellbefehl in mein Programm (mal abgesehen von der Ablage in temp. Dateien). Danke, Jens --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org