ECHILDECHILD — Нет дочерних процессов
У вызывающего процесса нет дочерних процессов, которых можно ожидать.
Что вызывает эту ошибку
Был вызван wait() или waitpid(), но дочерних процессов для сбора не существует. Это может произойти, если SIGCHLD установлен в SIG_IGN, если другой поток уже собрал дочерний процесс, или если процесс не вызывал fork().
Как исправить
Убедитесь, что fork() был успешно вызван до обращения к wait(). Избегайте многократного вызова wait() для одного и того же дочернего процесса. При использовании обработчиков SIGCHLD следите за тем, чтобы они не конфликтовали с явными вызовами wait().
Связанные коды ошибок
SIGTSTP (20)SIGTSTP (20) — Терминальный сигнал остановки
Сигнал остановки от терминала, обычно Ctrl+Z. В отличие от SIGSTOP, может быть перехвачен.
ENOTBLKENOTBLK — Требуется блочное устройство
Там, где требуется блочное устройство, указано небло́чное.
SIGTTIN (21)SIGTTIN (21) — Чтение из терминала фоновым процессом
Фоновый процесс попытался читать из управляющего терминала.
SIGTRAP (5)SIGTRAP (5) — Трассировка/точка останова
Сработала точка останова или ловушка трассировки, как правило, в процессе отладки.
ENOTRECOVERABLEENOTRECOVERABLE — Состояние не поддаётся восстановлению
Состояние мьютекса не может быть восстановлено после того, как предыдущий владелец завершил работу, не сняв блокировку.
EBADFEBADF — Неверный файловый дескриптор
Аргумент-файловый дескриптор не является допустимым открытым дескриптором или не открыт для запрошенной операции.