exitwert von beendeten Kindprozessen auslesen
-
hallo... habe noch eine Frage
Wir sollen zu der Shell noch einen Befehl "Status" hinzufuegen, der fuer den letzten beendeten Subprozess ausgibt ob er durch ein Signal vorzeitig beendet oder mit exit beendet wurde. Im letzten Fall soll auch der Exitwert mit ausgegeben werden.
Ich habe nun einen signal handler fur SIGCHLD implementiert, aber wie bekomme ich den exitwert bzw. das Signal heraus?
-
Normaler Weise fragt man den Rückgabewert mit wait() ab. Ist kein Signalhandler für SIGCHLD eingerichtet, bleibt sonst auch ein Zombie-Prozess übrig, bis der Rückgabewert abgefragt wird.
Da Du aber einen Signalhandler eingerichtet hast, bin ich mir nicht sicher, ob wait() noch funktioniert.
-
ja, habe es mal mit waitpid() probiert, da ging es auch tadellos..
das Problem ist halt, dass wir einen Signalhandler fuer SIGCHLD basteln muessen, und von da aus kann ich irgendwie nicht auf WIFEXITED und so zugreifen..