Zum Inhalt springen
Linux/POSIX-FehlerFehler
ECHILD

ECHILD — Keine Kindprozesse

Der aufrufende Prozess hat keine vorhandenen Kindprozesse, auf die gewartet werden kann.

linuxmacosunix

Was verursacht diesen Fehler

Ein Aufruf von wait() oder waitpid() wurde durchgeführt, aber es sind keine Kindprozesse zum Abholen vorhanden. Dies kann auftreten, wenn SIGCHLD auf SIG_IGN gesetzt ist, wenn ein anderer Thread den Kindprozess bereits abgeholt hat oder wenn der Prozess nie fork() aufgerufen hat.

So beheben Sie ihn

Prüfen Sie, ob fork() erfolgreich aufgerufen wurde, bevor Sie wait() aufrufen. Vermeiden Sie mehrfache wait()-Aufrufe für denselben Kindprozess. Wenn Sie SIGCHLD-Handler verwenden, stellen Sie sicher, dass diese nicht mit expliziten wait()-Aufrufen in Konflikt stehen.

Offizielle Dokumentation

Verwandte Fehlercodes