En aquest tutorial, explorarem l'ordre Bash Wait a Linux.
Sintaxi:
La sintaxi general de l'ordre Espera a Linux és:
espera [opció] ID
L'identificador seria un identificador de procés o un identificador de treball.
Explicació de l'ordre Bash Wait a Linux:
En primer lloc, creeu un fitxer mitjançant l'ordre tàctil:
$tocarBashWait.sh
Feu aquest fitxer executable mitjançant l'ordre següent:
$chmod+ x nom del fitxer
Un cop atorgats els privilegis executables al fitxer, obriu-lo i escriviu un script al fitxer bash:
#! / bin / bashdormir 3 &
ID de procés=$!
trobo 'PID:$ processID'
espera $ processID
trobo 'Estat de sortida: $?'
$! és una variable de BASH que emmagatzema el PID del procés més recent.
Ara, executeu l'script de la següent manera:
$./nom de l'arxiu$./BashWait.sh
L’identificador de procés i l’estat d’existència apareixeran a l’intèrpret d’ordres.
Utilitzant l'opció –n:
Amb l'opció –n, l'ordre d'espera només espera que acabi un sol treball de l'identificador de procés proporcionat o de les especificacions del treball abans de retornar el seu estat de sortida. Espera -n espera que acabi qualsevol treball en segon pla i torna l'estat de sortida del treball si no es proporcionen arguments.
Escriviu les línies indicades a continuació al vostre script:
#! / bin / bashdormir 30 &
dormir 8 &
dormir 7 &
espera -n
trobo 'El primer treball s'ha completat'.
espera
trobo 'S'han completat tots els treballs'.
A continuació, torneu a executar l'script i, quan es completi el primer treball, imprimirà el missatge al terminal i esperarà que es completin tots els altres treballs.
Utilitzant l'opció –f:
L'opció -f espera que cada identificador de procés o tasca s'aturi abans de tornar el codi de sortida. El control de feines només està disponible per defecte per a sol·licituds de resposta.
Obriu el terminal i executeu l'ordre:
Espereu el procés 3944.
Obriu una finestra de terminal diferent i executeu l'ordre kill per finalitzar el procés.
Es canviarà l'estat. L'ordre Espera completarà i retornarà el codi de sortida del procés.
Repetiu els passos indicats anteriorment amb l'ordre –f.
Script amb ordre d'espera:
Estem utilitzant scripts 'hello.sh' i 'bash.sh' per demostrar-los. L’escriptura ‘hello.sh’ imprimeix números de l’1 al 5 i l’escriptura ‘bash.sh’ crida hello.sh i l’executa en segon pla, tenint el PID d’hello.sh i esperant que acabi.
Creeu dos scripts amb el nom hello i bash:
Afegiu les línies següents al fitxer hello.sh:
#! / bin / bashperjodins 1 2 3 4 5 6 7 8 9 10
fer
trobohello.sh: número de bucle$ i.
fet
Afegiu les línies següents a l’escriptura bash:
#! / bin / bashtroboS'ha iniciat bash.sh
troboVa començar hello.sh
./hello.sh&
id_procés=$!
espera $ process_id
troboHello.sh completat
Sortida:
Conclusió:
Quan un usuari vol aturar un procés, el sistema allibera tots els recursos conservats pel procés i espera que comenci un altre. Haurem de notificar al procés que es pot reiniciar l’execució un cop finalitzin els altres processos. L'ordre wait a bash espera per completar l'execució i retorna l'estat de sortida quan s'acaba l'execució del procés. En aquest manual, hem vist alguns exemples de l’ordre Bash wait a Linux.