Nome
wait, waitpid - espera pela finalização do processo
Sinopse
#incluir pid_t wait (int * status );pid_t waitpid (pid_t pid int * status int opções );
oesperar A função suspende a execução do processo atual até que um filho tenha saído ou até que um sinal seja entregue, cuja ação é encerrar o processo atual ou chamar uma função de manipulação de sinal. Se uma criança já tiver saído no momento da chamada (o chamado processo "zumbi"), a função retorna imediatamente. Quaisquer recursos do sistema usados pelo filho são liberados. owaitpid função suspende a execução do processo atual até que um filho, conforme especificado pelo pid o argumento saiu, ou até que um sinal seja entregue cuja ação é terminar o processo atual ou chamar uma função de manipulação de sinal. Se uma criança, conforme solicitado por pid já saiu no momento da chamada (um processo chamado "zumbi"), a função retorna imediatamente. Quaisquer recursos do sistema usados pelo filho são liberados. O valor de pid pode ser um dos seguintes: < -1 o que significa esperar por qualquer processo filho cujo ID do grupo de processos seja igual ao valor absoluto de pid . -1 o que significa esperar por qualquer processo infantil; este é o mesmo comportamento queesperar exposições. 0 o que significa esperar por qualquer processo filho cujo ID do grupo de processos seja igual ao do processo de chamada. > 0 o que significa esperar pela criança cujo ID de processo é igual ao valor de pid . O valor de opções é um OR de zero ou mais das seguintes constantes: WNOHANG o que significa retornar imediatamente se nenhuma criança tiver saído. WUNTRACED o que significa também retornar para crianças que estão paradas e cujo status não foi relatado. (Para opções somente do Linux, veja abaixo.) E se status não éNULO, esperar ouwaitpid armazenar informações de status no local apontado por status . Esse status pode ser avaliado com as seguintes macros (essas macros usam o buffer de estatísticasint) como um argumento --- não um ponteiro para o buffer!): WIFEXITED ( status ) é diferente de zero se a criança sair normalmente. WEXITSTATUS ( status ) avalia para os oito bits menos significativos do código de retorno do filho que terminou, que pode ter sido definido como o argumento para uma chamada paraSaída() ou como o argumento para um Retorna declaração no programa principal. Esta macro só pode ser avaliada seWIFEXITEDretornou não-zero. WIFSIGNALED ( status ) retorna true se o processo filho foi encerrado devido a um sinal que não foi capturado. WTERMSIG ( status ) retorna o número do sinal que causou o processo filho para finalizar. Esta macro só pode ser avaliada seWIFSIGNALED retornou não-zero. WIFSTOPPED ( status ) retorna true se o processo filho que causou o retorno estiver atualmente parado; isso só é possível se a chamada foi feita usandoWUNTRACED. WSTOPSIG ( status ) retorna o número do sinal que causou a parada da criança. Esta macro só pode ser avaliada seWIFSTOPPED retornou não-zero. Algumas versões do Unix (por exemplo, Linux, Solaris, mas não AIX, SunOS) também definem uma macroWCOREDUMP ( status ) para testar se o processo filho despejou o núcleo. Use somente este anexo em #ifdef WCOREDUMP … #endif. O ID do processo da criança que saiu ou zero seWNOHANG foi usado e nenhuma criança estava disponível, ou -1 no erro (nesse caso errno está definido para um valor apropriado). ECHILD se o processo especificado no pid não existe ou não é filho do processo de chamada. (Isso pode acontecer para o próprio filho se a ação para SIGCHLD estiver definida como SIG_IGN. Consulte também a seção LINUX NOTES sobre tópicos.) EINVAL se o opções argumento era inválido. EINTR E seWNOHANG não foi definido e um sinal não bloqueado ou umSIGCHLD foi pego. Descrição
Valor de retorno
Erros




