Skip to main content

Aguarde - Comando Linux - Comando Unix

Como ativar o terminal do Linux no Windows (Junho 2026)

Como ativar o terminal do Linux no Windows (Junho 2026)
Anonim

Nome

wait, waitpid - espera pela finalização do processo

Sinopse

#incluir #incluir

pid_t wait (int * status );pid_t waitpid (pid_t pid int * status int opções );

Descrição

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.

Valor de retorno

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).

Erros

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.