Comando Bash Wait em Linux

Comando Bash Wait em Linux
A espera é um comando Linux que retorna um status de saída depois de esperar por um processo de corrida completo. Quando vários processos estão funcionando simultaneamente, o comando Wait só pode acompanhar o último. Se o comando Wait não estiver associado a um ID de trabalho ou processo, ele esperará que todos os processos filhos sejam concluídos antes de retornar um status de saída. O comando Bash Wait é frequentemente usado com o comando IDs de processo ou IDS de trabalho.

Neste tutorial, exploraremos o comando Bash Wait no Linux.

Sintaxe:

A sintaxe geral do comando Wait in Linux é:

aguarde [opção] id

ID seria um ID de processo ou ID do trabalho.

Explicando o comando Bash Wait no Linux:

Primeiro, crie um arquivo usando o comando Touch:

$ touch Bashwait.sh

Faça 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/BASH
sono 3 &
ProcessId = $!
eco "pid: $ processId"
aguarde $ processId
eco "status de saída: $?"

$! é uma variável no Bash que armazena o PID do processo mais recente.

Agora, execute o script da seguinte forma:

$ ./nome do arquivo
$ ./Bashwait.sh

O ID do processo e o status de existência aparecerão no shell.

Usando -n opção:

Com a opção -n, o comando Wait aguarda apenas um único trabalho do ID do processo fornecido ou especificações de trabalho para terminar antes de retornar seu status de saída. Espere -n aguarde que qualquer trabalho de fundo termine e devolva o status de saída do trabalho se nenhum argumento for fornecido.

Escreva as linhas abaixo do seu script:

#!/BIN/BASH
sono 30 &
sono 8 e
sono 7 &
espere -n
eco "o primeiro emprego foi concluído."
espere
eco "Todos os empregos foram concluídos."

Em seguida, execute o script novamente e quando o primeiro trabalho for concluído, ele imprimirá a mensagem no terminal e aguarde a conclusão de todos os outros trabalhos.

Usando -f opção:

A opção -f aguarda que cada ID de processo ou trabalho pare antes de devolver o código de saída. O controle de emprego está disponível apenas para instruções responsivas por padrão.

Open Terminal e Run Command:

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 Wait será concluído e retornará o código de saída do processo.

Repita as etapas acima com o comando -f.

Script com comando de espera:

Estamos usando 'olá.Sh 'e' Bash.sh 'scripts para demonstração. O 'olá.O script sh 'imprime números de 1 a 5, e' bash.sh 'script chama olá.sh e o executa em segundo plano, tendo o pid de olá.sh e esperando que ele termine.

Crie dois scripts com o nome Hello and Bash:

Adicione as linhas abaixo dadas no olá.Arquivo SH:

#!/BIN/BASH
para i em 1 2 3 4 5 6 7 8 9 10
fazer
eco “Olá.sh - loop número $ i.”
feito

Adicione as linhas abaixo dadas no script Bash:

#!/BIN/BASH
eco “Comecei a Bash.sh ”
eco “Comecei olá.sh ”
./olá.sh &
process_id = $!
aguarde $ process_id
eco “olá concluído.sh

Saída:

Conclusão:

Quando um usuário deseja interromper um processo, o sistema libera todos os recursos mantidos pelo processo e aguarda que outro inicie. Precisamos notificar o processo que ele pode reiniciar a execução assim que os outros processos forem concluídos. O comando Wait in Bash espera para concluir a execução e retorna o status de saída quando a execução do processo for concluída. Neste manual, vimos alguns exemplos do comando Bash Wait em Linux.