Перейти к содержимому
Ошибки Linux/POSIXОшибка
ECHILD

ECHILD — Нет дочерних процессов

У вызывающего процесса нет дочерних процессов, которых можно ожидать.

linuxmacosunix

Что вызывает эту ошибку

Был вызван wait() или waitpid(), но дочерних процессов для сбора не существует. Это может произойти, если SIGCHLD установлен в SIG_IGN, если другой поток уже собрал дочерний процесс, или если процесс не вызывал fork().

Как исправить

Убедитесь, что fork() был успешно вызван до обращения к wait(). Избегайте многократного вызова wait() для одного и того же дочернего процесса. При использовании обработчиков SIGCHLD следите за тем, чтобы они не конфликтовали с явными вызовами wait().

Официальная документация

Связанные коды ошибок