123456 schrieb:
>> Findest du nicht, es könnte vielleicht eine gute Idee sein, sich die
>> Doku der Funktion, die man benutzen will, mal durchzulesen?
>
> Ja das habe ich auch getan.
Warum stellst du dann dauernd Fragen, die dort beantwortet sind?
>> A state change is considered to be: the child terminated;
>> the child was stopped by a signal; or the child was resumed by a signal.
>
> Worauf wird denn diese Änderung bezogen?
Für stop und resume ist das ja noch eine sinnvolle Frage, aber dich
interessiert ja nur, ob der Prozess beendet wurde, und da beendete
Prozesse selten spontan wieder zurückspringen auf laufend, dürfte die
Antwort in deinem Fall klar sein: Auf Erzeugung des Prozesses.
> Erzeuge ich ein Kind, liefert waitpid eine null zurück.
Sofern du es mit WNOHANG aufrufst und es keinen Fehler gibt, ja.
> Schmiert der Prozess ab liefert waitpid die PID zurück.
Er könnte "abgeschmiert" sich, sich regulär beendet haben oder durch ein
Signal beendet worden sein. Das kann man aber noch separat abfragen.
> Wird der Zombie dann automatisch gekillt, oder muss ich das behandeln?
1 | In the case of a terminated child, per‐
|
2 | forming a wait allows the system to release the resources associated
|
3 | with the child; if a wait is not performed, then the terminated
|
4 | child remains in a "zombie" state (see NOTES below).
|