În acest tutorial, vom explora comanda Bash Wait din Linux.
Sintaxă:
Sintaxa generală a comenzii Wait în Linux este:
așteptați [opțiune] ID
ID-ul ar fi un ID de proces sau un ID de job.
Explicarea comenzii Bash Wait în Linux:
Mai întâi, creați un fișier utilizând comanda tactilă:
$atingereBashWait.sh
Faceți acest fișier executabil utilizând comanda de mai jos:
$chmod+ x nume de fișier
Odată ce privilegiile executabile sunt acordate fișierului, deschideți fișierul și scrieți un script în fișierul bash:
#! / bin / bashdormi 3 &
ID proces=$!
aruncat „PID:$ processID'
aștepta $ processID
aruncat „Stare de ieșire: $?”
$! este o variabilă în BASH care stochează PID-ul celui mai recent proces.
Acum, rulați scriptul după cum urmează:
$./nume de fișier$./BashWait.sh
ID-ul procesului și starea Exist vor apărea în shell.
Folosind opțiunea –n:
Cu opțiunea –n, comanda de așteptare așteaptă ca o singură lucrare din ID-ul procesului furnizat sau din specificațiile lucrării să se termine înainte de a-și returna starea de ieșire. Așteptați -n așteaptă finalizarea oricărei lucrări de fundal și returnează starea de ieșire a lucrării dacă nu sunt furnizate argumente.
Scrieți rândurile indicate mai jos în script:
#! / bin / bashdormi 30 &
dormi 8 &
dormi 7 &
aștepta -n
aruncat „Primul loc de muncă a fost finalizat.”
aștepta
aruncat „Toate lucrările au fost finalizate.”
Apoi, rulați din nou scriptul și când se finalizează primul job, acesta va imprima mesajul pe terminal și va aștepta finalizarea tuturor celorlalte joburi.
Folosind opțiunea –f:
Opțiunea -f așteaptă ca fiecare proces ID sau job să se oprească înainte de a returna codul de ieșire. Controlul jobului este disponibil în mod implicit numai pentru solicitările responsive.
Deschideți terminalul și rulați comanda:
Așteptați procesul 3944.
Deschideți o altă fereastră terminală și executați comanda kill pentru a termina procesul.
Starea va fi schimbată. Comanda Așteptați va finaliza și va returna codul de ieșire a procesului.
Repetați pașii de mai sus cu comanda –f.
Script cu comanda Așteptați:
Folosim scripturi „hello.sh” și „bash.sh” pentru demonstrație. Scriptul „hello.sh” tipărește numere de la 1 la 5, iar scriptul „bash.sh” apelează hello.sh și îl rulează în fundal, având PID-ul hello.sh și așteptând să se termine.
Creați două scripturi cu numele hello și bash:
Adăugați liniile de mai jos în fișierul hello.sh:
#! / bin / bashpentrueuîn 1 2 3 4 5 6 7 8 9 10
do
aruncathello.sh - Număr buclă$ i.
Terminat
Adăugați liniile date mai jos în scriptul bash:
#! / bin / basharuncatA început bash.sh
aruncatA început hello.sh
./salut.sh&
proces_id=$!
aștepta $ proces_id
aruncatFinalizat hello.sh
Ieșire:
Concluzie:
Când un utilizator dorește să oprească un proces, sistemul eliberează toate resursele păstrate de proces și așteaptă să înceapă altul. Va trebui să anunțăm procesul că poate reporni execuția odată ce celelalte procese sunt finalizate. Comanda de așteptare din bash așteaptă să finalizeze execuția și returnează starea de ieșire când executarea procesului este finalizată. În acest manual, am văzut câteva exemple ale comenzii Bash wait în Linux.