U ovom uputstvu istražit ćemo naredbu Bash Wait u Linuxu.
Sintaksa:
Općenita sintaksa naredbe Wait u Linuxu je:
pričekajte [opcija] ID
ID bi bio ID procesa ili ID posla.
Objašnjenje naredbe Bash Wait u Linuxu:
Prvo stvorite datoteku pomoću naredbe dodir:
$ dodirni BashWait.sh
Učinite ovu datoteku izvršnom pomoću naredbe u nastavku:
$ chmod + x naziv datoteke
Nakon što se datoteci dodijele izvršne privilegije, otvorite je i napišite skriptu u bash datoteku:
#!/ bin / bashspavaj 3 &
processID = $!
odjek "PID: $ processID"
pričekajte $ processID
echo "Status izlaza: $?"
$! je varijabla u BASH-u koja pohranjuje PID najnovijeg postupka.
Sada pokrenite skriptu na sljedeći način:
$ ./naziv datoteke$ ./ BashWait.sh
ID procesa i postojeći status pojavit će se u ljusci.
Korištenje opcije -n:
Uz opciju -n, naredba čekanja čeka samo jedan posao iz navedenog ID-a procesa ili specifikacija posla da bi se vratila prije vraćanja statusa izlaska. Wait -n čeka da se završi bilo koji pozadinski posao i vraća status izlaska iz posla ako nisu navedeni argumenti.
U skriptu napišite dolje navedene redove:
#!/ bin / bashspavanje 30 &
spavaj 8 &
spavaj 7 &
čekaj -n
echo "Prvi posao je završen."
čekati
echo "Svi poslovi su dovršeni."
Zatim ponovo pokrenite skriptu i kad je prvi posao dovršen, ispisat će poruku na terminalu i pričekati da se svi drugi poslovi dovrše.
Korištenje opcije -f:
Opcija -f čeka da se svaki proces ili id zaustavi prije vraćanja izlaznog koda. Kontrola posla je prema zadanim postavkama dostupna samo za responzivne upute.
Otvorite terminal i pokrenite naredbu:
Pričekajte postupak 3944.
Otvorite drugi prozor terminala i izvršite naredbu kill da biste prekinuli postupak.
Status će se promijeniti. Naredba Wait dovršit će i vratiti izlazni kôd procesa.
Ponovite gore navedene korake s naredbom -f.
Skripta s naredbom Wait:
Koristimo 'zdravo.sh 'i' bash.sh 'skripte za demonstraciju. 'Zdravo.skripta sh 'ispisuje brojeve od 1 do 5 i' bash.sh 'skripta zove zdravo.sh i pokreće ga u pozadini, imajući PID zdravo.š i čekajući da završi.
Stvorite dvije skripte s imenom hello i bash:
Dodajte dolje dane retke u pozdrav.sh datoteka:
#!/ bin / bashza i u 1 2 3 4 5 6 7 8 9 10
čini
odjek „zdravo.sh - Broj petlje $ i."
gotovo
Dodajte dolje navedene retke u bash skriptu:
#!/ bin / bashodjek „Započet bash.sh "
odjek „Započeo zdravo.sh "
./zdravo.sh &
id_procesa = $!
pričekajte $ process_id
odjek „Završeno zdravo.sh
Izlaz:
Zaključak:
Kad korisnik želi zaustaviti proces, sustav oslobađa sve resurse koje taj proces zadržava i čeka da drugi započne. Morat ćemo obavijestiti postupak da može ponovno pokrenuti izvršenje kada se završe drugi procesi. Naredba čekanja u bashu čeka dovršenje izvršenja i vraća status izlaza kada je izvršavanje procesa završeno. U ovom priručniku vidjeli smo neke primjere naredbe Bash wait u Linuxu.