Comenzi Linux

Comanda Bash Wait în Linux

Comanda Bash Wait în Linux
Așteptarea este o comandă Linux care returnează o stare de ieșire după așteptarea unui proces complet de rulare. Când mai multe procese rulează simultan, comanda de așteptare poate urmări doar ultimul. Dacă comanda de așteptare nu este asociată cu un job sau un ID de proces, va aștepta finalizarea tuturor proceselor copil înainte de a returna o stare de ieșire. Comanda bash wait este adesea folosită cu comanda ID-uri de proces sau ID-uri de job.

Î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 / bash
dormi 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 / bash
dormi 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 / bash
pentru 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 / bash
ecou „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.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...