În acest tutorial, vom explora comanda Bash Wait din Linux.
Sintaxă:
Sintaxa generală a comenzii Așteptați î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ă:
$ atinge BashWait.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 = $!
ecou „PID: $ processID”
așteptați $ processID
ecou "Stare 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ă doar ca o singură lucrare din ID-ul procesului furnizat sau din specificațiile de lucrare să se termine înainte de a reveni la 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 de mai jos în script:
#!/ bin / bashdormi 30 și
dormi 8 &
dormi 7 &
așteptați -n
ecou "Primul job a fost finalizat."
aștepta
ecou „Toate lucrările au fost finalizate."
Apoi, rulați din nou scriptul și când se finalizează primul job, acesta va imprima mesajul de pe terminal și va aștepta finalizarea tuturor celorlalte joburi.
Folosind opțiunea -f:
Opțiunea -f așteaptă ca fiecare proces sau ID 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 „salut”.sh 'și' bash.scripturi pentru demonstrație. Bună ziua.scriptul sh 'tipărește numere de la 1 la 5 și' bash.sh 'script apelează salut.sh și îl rulează în fundal, având PID de salut.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 salut.fișier sh:
#!/ bin / bashpentru i în 1 2 3 4 5 6 7 8 9 10
do
ecou „salut.sh - Numărul buclei $ i.”
Terminat
Adăugați liniile date mai jos în scriptul bash:
#!/ bin / bashecou „A început bash.SH"
ecou „A început salut.SH"
./Buna ziua.SH &
proces_id = $!
așteptați $ proces_id
ecou „Finalizat salut.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.