Linux naredbe

Naredba Bash Wait u Linuxu

Naredba Bash Wait u Linuxu
Čekanje je Linux naredba koja vraća status izlaza nakon čekanja na kompletan pokrenut postupak. Kada se istodobno izvodi nekoliko procesa, naredba čeka može pratiti samo posljednji. Ako naredba čeka nije povezana s ID-om posla ili procesa, pričekat će da se svi podređeni procesi dovrše prije vraćanja statusa izlaza. Naredba bash wait često se koristi s ID-ima procesa ili naredbama ID-a posla.

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 / bash
spavaj 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 / bash
spavanje 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 / bash
za 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 / bash
odjek „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.

OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...
SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...