이름
wait, waitpid - 프로세스 종료 대기
개요
#포함 pid_t wait (int * 지위 );pid_t waitpid (pid_t 피피 , int * 지위 , int 옵션들 );
그만큼기다림 함수는 자식 프로세스가 종료 할 때까지 또는 현재 프로세스를 종료하거나 신호 처리 함수를 호출하는 신호가 전달 될 때까지 현재 프로세스의 실행을 일시 중단합니다. 자녀가 통화 시간 (소위 "좀비"프로세스)까지 이미 종료 한 경우 함수는 즉시 반환됩니다. 하위 시스템이 사용하는 시스템 자원은 모두 해제됩니다. 그만큼웨이드 피드 함수는 지정된 프로세스가 실행될 때까지 현재 프로세스의 실행을 일시 중단합니다. 피피 인수가 종료되었거나 현재 처리를 종료하거나 신호 처리 함수를 호출하는 것이 신호가 전달 될 때까지. 아동이 요청한 경우 피피 호출 (소위 "좀비"프로세스) 시점까지 이미 종료 된 경우 함수는 즉시 반환됩니다. 하위 시스템이 사용하는 시스템 자원은 모두 해제됩니다. 의 가치 피피 다음 중 하나 일 수 있습니다. < -1 이것은 프로세스 그룹 ID가 절대 값과 같은 자식 프로세스를 기다리는 것을 의미한다. 피피 . -1 어떤 자식 프로세스를 기다리는 것을 의미합니다. 이것은 같은 행동이다.기다림 전시회. 0 이는 프로세스 그룹 ID가 호출 프로세스의 ID와 동일한 모든 하위 프로세스를 기다리는 것을 의미합니다. > 0 이는 프로세스 ID가 값과 동일한 자식을 기다리는 것을 의미합니다. 피피 . 의 가치 옵션들 0 또는 그 이상의 상수의 OR입니다. WNOHANG 이는 출생 한 아이가없는 경우 즉시 반환한다는 의미입니다. 무뚝뚝한 이는 또한 정지 된 아동과 그 상태가보고되지 않은 아동에게 돌아 오는 것을 의미합니다. (Linux 전용 옵션은 아래를 참조하십시오.) 만약 지위 아니다없는, 기다림 또는웨이드 피드 에 의해 지시 된 위치에 상태 정보를 저장한다. 지위 . 이 상태는 다음 매크로로 평가할 수 있습니다 (이 매크로는 stat 버퍼를 사용합니다.int) 인수로 - 버퍼에 대한 포인터가 아닙니다!) : WIFEXITED ( 지위 ) 자식이 정상적으로 종료하면 0이 아닙니다. WEXITSTATUS ( 지위 ) 종료 된 자식의 반환 코드의 최하위 8 비트를 평가합니다.이 인수는에 대한 호출로 인수로 설정되었을 수 있습니다.출구() 또는 반환 성명서. 이 매크로는 다음 경우에만 평가 될 수 있습니다.WIFEXITED0이 아닌 값을 반환했습니다. WIFSIGNALED ( 지위 ) 걸리지 않은 신호로 인해 자식 프로세스가 종료되면 true를 반환합니다. WTERMSIG ( 지위 ) 자식 프로세스의 종료를 유발 한 신호의 번호를 반환합니다. 이 매크로는 다음 경우에만 평가 될 수 있습니다.WIFSIGNALED 0이 아닌 값을 반환했습니다. WIFSTOPPED ( 지위 ) 반환을 야기한 자식 프로세스가 현재 중지 된 경우 true를 반환합니다. 이것은 전화가 다음을 사용하여 완료된 경우에만 가능합니다.무뚝뚝한. WSTOPSIG ( 지위 ) 자식을 멈추게하는 신호의 번호를 반환합니다. 이 매크로는 다음 경우에만 평가 될 수 있습니다.WIFSTOPPED 0이 아닌 값을 반환했습니다. Unix의 일부 버전 (예 : Linux, Solaris, AIX, SunOS 제외)은 매크로WCOREDUMP ( 지위 ) 자식 프로세스가 코어를 덤프했는지 여부를 테스트합니다. #ifdef WCOREDUMP … #endif에 동봉하여 사용하십시오. 종료 한 자식의 프로세스 ID 또는 if ifWNOHANG 어떤 아이도 사용할 수 없거나 -1이면 오류가 발생합니다 (이 경우 오류 적절한 값으로 설정 됨). 에셜 에서 지정된 프로세스 피피 존재하지 않거나 호출 프로세스의 하위 요소가 아닙니다. (이것은 SIGCHLD에 대한 동작이 SIG_IGN으로 설정된 경우 자기 자식에게 발생할 수 있습니다. 스레드에 관한 LINUX NOTES 섹션도 참조하십시오.) EINVAL 만약 옵션들 인수가 유효하지 않습니다. EINTR 만약WNOHANG 설정되지 않았으며 차단되지 않은 신호 또는SIGCHLD 잡혔다. 기술
반환 값
오류




