본문으로 이동
Linux/POSIX 에러에러
ECHILD

ECHILD — 자식 프로세스 없음

호출 프로세스에 대기할 자식 프로세스가 존재하지 않습니다.

linuxmacosunix

이 에러의 원인

wait() 또는 waitpid()를 호출했지만 회수할 자식 프로세스가 없습니다. SIGCHLD가 SIG_IGN으로 설정되어 있거나, 다른 스레드가 이미 자식을 회수했거나, 프로세스가 fork()를 호출한 적이 없을 때 발생할 수 있습니다.

수정 방법

wait() 호출 전에 fork()가 성공적으로 호출되었는지 확인하십시오. 같은 자식에 대해 wait()를 여러 번 호출하지 마십시오. SIGCHLD 핸들러를 사용하는 경우 명시적 wait() 호출과 충돌하지 않도록 하십시오.

공식 문서

관련 에러 코드