O valor do status de saída do comando de espera depende do comando indicado pelo último operando especificado. Quando qualquer processo termina de forma anormal, o status de saída será maior que 128 e 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 de espera detectar algum erro, ele retornará qualquer valor de 1 a 126. Se o último id do processo for desconhecido, 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 o id do processo do primeiro comando echo é armazenado na variável $ process_id. Quando o comando de espera é executado com $ process_id então o próximo comando irá esperar 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 / bashecho "teste de espera command1" &
process_id = $!
echo "teste de espera command2" &
espere $ process_id
echo Job 1 encerrado com status $?
espere $!
echo Job 2 encerrado com status $?
Resultado:
$ bash wait1.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 que o comando de espera é executado com a identificação do processo encerrado. A saída irá mostrar o id do processo do processo encerrado.
#!/ bin / bashecho "Comando de espera de teste"
dormir 20 e
pid = $!
matar $ pid
espere $ pid
echo $ pid foi encerrado.
Resultado:
$ bash wait2.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 o segundo valor de argumento, o comando wait termina com sucesso e se você passar qualquer valor maior que zero, ele termina sem sucesso.
#!/ bin / bashverificação de função ()
echo "Durma por $ 1 segundos"
dormir $ 1
saída $ 2
verifique $ 1 $ 2 &
b = $!
echo "Verificando o status"
aguarde $ b && echo OK || echo NÃO está bem
Resultado:
$ bash wait3.sh 3 0$ bash wait3.sh 3 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 o comando de suspensão, você pode visitar este link.