Wait Command no Linux

Wait Command Linux



esperar é um comando integrado do Linux que aguarda a conclusão de qualquer processo em execução. esperar comando é usado com um determinado ID de processo ou ID de trabalho. Quando vários processos estão sendo executados no shell, apenas a id do processo do último comando será conhecida pelo shell atual. Se o comando de espera for executado desta vez, ele será aplicado para o último comando. Se nenhum ID de processo ou ID de trabalho for fornecido com o comando de espera, ele aguardará a conclusão de todos os processos filho atuais e retornará o status de saída.

O valor do status de saída do comando wait depende do comando indicado pelo último operando especificado. Quando qualquer processo termina anormalmente, o status de saída será maior que 128 e deve ser diferente dos valores de status de saída de outros comandos. esperar o comando sai com o valor 0 quando ele chama sem operandos e todos os IDs de processo são conhecidos pelo shell atual foram encerrados. Se o comando wait detectar algum erro, ele retornará qualquer valor de 1 a 126. Se a última identificação do processo for desconhecida, o comando wait sai com o valor 127. Como você pode usar o comando wait no Linux é mostrado neste tutorial.







Exemplo-1: Usando o comando de espera para vários processos

Depois de executar o script a seguir, dois processos serão executados em segundo plano e a id do processo do primeiro comando echo é armazenada na variável $ process_id. Quando o comando de espera é executado com $ process_id, o próximo comando aguardará para completar a tarefa do primeiro comando de eco. O segundo comando de espera é usado com ' $! 'E isso indica o id do processo do último processo em execução. ‘ $? 'É usado para ler o valor de status do comando de espera.



#! / bin / bash
jogou fora 'teste de espera command1' E
process_id=$!
jogou fora 'teste de espera command2' E
esperar $ process_id
jogou foraTrabalho1saiu com status$?
esperar $!
jogou foraTrabalho2saiu com status$?

Saída:



$bashwait1.sh





Exemplo-2: Teste o comando de espera após usar o comando kill

No script a seguir, o comando wait é executado após encerrar o processo. O comando sleep está sendo executado como um processo em segundo plano e o comando kill é executado para encerrar o processo em execução. Depois disso, o comando de espera é executado com a identificação do processo encerrado. A saída mostrará a identificação do processo encerrado.

#! / bin / bash
jogou fora 'Teste de comando de espera'
dormir vinte E
pid=$!
matar $ pid
esperar $ pid
jogou fora $ pidfoi encerrado.

Saída:



$bashwait2.sh

Exemplo-3: verifique o valor do status de saída

No script a seguir, a função Verifica() é chamado por dois valores de argumento. É discutido no início do tutorial que se o comando de espera for executado com sucesso, o valor de saída será 0 e se o comando de espera detectar algum erro, ele retornará qualquer valor entre 1 e 126. Depois de executar o script, se você passar 0 como segundo argumento valor então o comando de espera termina com sucesso e se você passar qualquer valor maior que zero então ele termina sem sucesso.

#! / bin / bash
funçãoVerifica()
{
jogou fora 'Durma por $ 1 segundos'
dormir $ 1
saída $ 2
}
Verifica$ 1 $ 2 E
b=$!
jogou fora 'Verificando o status'
esperar $ b && jogou foraOK|| jogou foraNÃO ESTÁ TUDO BEM

Saída:

$bashwait3.sh3 0
$bashwait3.sh3 5

Espero que este tutorial ajude a aprender o comando use wait apropriadamente. Existe outro comando no Linux, chamado dormir esperar um certo número de vezes, mas existem algumas diferenças entre esses comandos. Se você estiver interessado em saber sobre comando dormir então você pode visitar este link.