V tej vadnici bomo raziskali ukaz Bash Wait v Linuxu.
Sintaksa:
Splošna sintaksa ukaza Wait v Linuxu je:
počakajte [možnost] ID
ID bi bil ID procesa ali ID delovnega mesta.
Pojasnilo ukaza Bash Wait v Linuxu:
Najprej ustvarite datoteko z ukazom na dotik:
$ touch BashWait.sh
S spodnjim ukazom naredite to datoteko izvršljivo:
$ chmod + x ime datoteke
Ko so datoteki dodeljene izvršilne privilegije, jo odprite in v bash datoteko napišite skript:
#!/ bin / bashspi 3 &
processID = $!
echo "PID: $ processID"
počakajte $ processID
echo "Stanje izhoda: $?"
$! je spremenljivka v BASH, ki shranjuje PID zadnjega procesa.
Zdaj zaženite skript, kot sledi:
$ ./Ime datoteke$ ./ BashWait.sh
ID procesov in obstoječe stanje se prikažeta v lupini.
Uporaba možnosti -n:
Z možnostjo -n ukaz za čakanje čaka samo na eno opravilo iz navedenega ID-ja procesa ali specifikacij opravila, preden vrne stanje izstopa. Wait -n počaka, da se konča katero koli opravilo v ozadju, in vrne stanje izhoda, če niso podani argumenti.
V skript zapišite spodnje vrstice:
#!/ bin / bashspi 30 &
spi 8 &
spi 7 &
počakaj -n
echo "Prvo opravilo je končano."
počakaj
"vsa opravila so končana."
Nato znova zaženite skript in ko bo prvo opravilo končano, bo natisnilo sporočilo na terminalu in počakalo, da bodo vsa druga opravila dokončana.
Uporaba možnosti -f:
Možnost -f počaka, da se vsak proces ali opravilo ustavi, preden vrne izhodno kodo. Nadzor opravila je privzeto na voljo samo za odzivne pozive.
Odprite terminal in zaženite ukaz:
Počakajte na postopek 3944.
Odprite drugo terminalsko okno in izvedite ukaz kill, da zaključite postopek.
Stanje bo spremenjeno. Ukaz Wait bo končal in vrnil izhodno kodo procesa.
Ponovite zgornje korake z ukazom -f.
Skripta z ukazom Wait:
Uporabljamo 'zdravo.sh 'in' bash.sh 'skripte za predstavitev. "Živjo.skript sh 'natisne številke od 1 do 5 in' bash.sh 'skript prikliče zdravo.sh in ga zažene v ozadju, pri čemer ima PID zdravo.sh in čaka, da se konča.
Ustvari dve skripti z imenom hello in bash:
V spodnji pozdrav dodajte spodnje vrstice.datoteka sh:
#!/ bin / bashza i v 1 2 3 4 5 6 7 8 9 10
naredi
odmev “zdravo.sh - Številka zanke $ i."
Končano
V spodnji skript bash dodajte spodnje vrstice:
#!/ bin / bashecho “Začel bash.sh "
echo “Začel pozdravljeni.sh "
./zdravo.sh &
process_id = $!
počakajte $ process_id
echo “Dokončano pozdravljeni.sh
Izhod:
Zaključek:
Ko uporabnik želi ustaviti postopek, sistem sprosti vse vire, ki jih hrani postopek, in počaka, da se zažene drug. Proces bomo morali obvestiti, da lahko znova zažene izvajanje, ko so končani drugi procesi. Ukaz za čakanje v bash čaka na dokončanje izvedbe in vrne stanje izhoda, ko je izvajanje postopka končano. V tem priročniku smo videli nekaj primerov ukaza Bash wait v Linuxu.