Neste tutorial, vamos explorar o comando Bash Wait no Linux.
Sintaxe:
A sintaxe geral do comando Wait no Linux é:
aguarde [opção] ID
ID seria um ID de processo ou ID de trabalho.
Explicando o comando Bash Wait no Linux:
Primeiro, crie um arquivo usando o comando touch:
$ touch BashWait.sh
Torne este arquivo executável usando o comando abaixo:
$ chmod + x nome do arquivo
Depois que os privilégios executáveis forem concedidos ao arquivo, abra o arquivo e escreva um script no arquivo bash:
#!/ bin / bashdormir 3 e
processID = $!
echo "PID: $ processID"
aguarde $ processID
echo "Status de saída: $?"
$! é uma variável no BASH que armazena o PID do processo mais recente.
Agora, execute o script da seguinte maneira:
$ ./nome do arquivo$ ./ BashWait.sh
O ID do processo e o status Exist aparecerão no shell.
Usando a opção -n:
Com a opção -n, o comando wait espera apenas que um único trabalho do ID de processo ou especificações de trabalho fornecidos termine antes de retornar seu status de saída. Wait -n aguarda a conclusão de qualquer trabalho em segundo plano e retorna o status de saída do trabalho se nenhum argumento for fornecido.
Escreva as linhas fornecidas abaixo em seu script:
#!/ bin / bashdormir 30 e
dormir 8 e
dormir 7 e
espere -n
echo "O primeiro trabalho foi concluído."
esperar
echo "Todos os trabalhos foram concluídos."
Em seguida, execute o script novamente e quando o primeiro trabalho for concluído, ele imprimirá a mensagem no terminal e esperará que todos os outros trabalhos sejam concluídos.
Usando a opção -f:
A opção -f espera que cada id de processo ou job pare antes de retornar o código de saída. O controle de trabalho está disponível apenas para prompts responsivos por padrão.
Abra o terminal e execute o comando:
Aguarde o processo 3944.
Abra uma janela de terminal diferente e execute o comando kill para encerrar o processo.
O status será alterado. O comando de espera será concluído e retornará o código de saída do processo.
Repita as etapas fornecidas acima com o comando -f.
Script com comando Wait:
Estamos usando 'olá.sh 'e' bash.roteiros sh 'para demonstração. O 'olá.O script sh 'imprime números de 1 a 5, e' bash.sh 'script chama olá.sh e executa em segundo plano, tendo o PID de hello.sh e esperando que isso acabe.
Crie dois scripts com o nome hello e bash:
Adicione as linhas fornecidas abaixo no hello.arquivo sh:
#!/ bin / bashpara i em 1 2 3 4 5 6 7 8 9 10
Faz
eco “olá.sh - Loop número $ i.”
feito
Adicione as linhas fornecidas abaixo no script bash:
#!/ bin / bashecho “Iniciado bash.sh ”
echo “Iniciado olá.sh ”
./Olá.sh &
process_id = $!
espere $ process_id
eco “Completed hello.sh
Resultado:
Conclusão:
Quando um usuário deseja interromper um processo, o sistema libera todos os recursos mantidos pelo processo e espera que outro inicie. Precisamos notificar o processo de que ele pode reiniciar a execução assim que os outros processos forem concluídos. O comando de espera em bash espera para completar a execução e retorna o status de saída quando a execução do processo é completada. Neste manual, vimos alguns exemplos do comando Bash wait no Linux.