Ukaz Bash Wait v Linuxu

Bash Wait Command Linux



Čakanje je ukaz Linuxa, ki vrne izhodno stanje po čakanju na dokončan postopek. Ko se hkrati izvaja več procesov, lahko ukaz wait čaka le zadnjega. Če ukaz wait ni povezan z ID -jem opravila ali procesa, bo pred vrnitvijo izhodnega stanja počakal, da se dokončajo vsi podrejeni procesi. Ukaz bash wait se pogosto uporablja z ukazom ID procesa ali ukazom ID opravila.

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.



Razlaga ukaza Bash Wait v Linuxu:

Najprej ustvarite datoteko z ukazom na dotik:





$dotikBashWait.sh

Z naslednjim ukazom naredite to datoteko izvedljivo:



$chmod+x ime datoteke

Ko datoteki podarite izvršljive pravice, odprite datoteko in v datoteko bash napišite skript:

#!/bin/bash

spi 3 &

processID=$!

vrgel ven 'PID:$ processID'

počakaj $ processID

vrgel ven 'Izhodno stanje: $?'

$! je spremenljivka v BASH -u, ki shrani PID najnovejšega procesa.

Zdaj zaženite skript na naslednji način:

$./Ime datoteke

$./BashWait.sh

V lupini se prikažeta ID procesa in stanje obstoječega.

Uporaba možnosti –n:

Z možnostjo –n ukaz wait čaka le, da se eno opravilo iz podanega ID -ja procesa ali specifikacij opravila konča, preden vrne stanje izstopa. Wait -n čaka, da se katero koli opravilo v ozadju konča, in vrne stanje izstopa iz opravila, če niso podani argumenti.

V svoj scenarij zapišite spodnje vrstice:

#!/bin/bash

spi 30 &

spi 8 &

spi 7 &

počakaj -n

vrgel ven 'Prva naloga je končana.'

počakaj

vrgel ven 'Vsa delovna mesta so zaključena.'

Nato znova zaženite skript in ko bo prvo opravilo končano, bo natisnilo sporočilo na terminalu in počakalo, da se dokončajo vsa druga opravila.

Uporaba možnosti -f:

Možnost -f počaka, da se vsak ID procesa ali opravilo ustavi, preden vrne izhodno kodo. Nadzor opravil 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 se bo spremenilo. Ukaz Wait bo dokončal in vrnil kodo izhoda procesa.

Z ukazom –f ponovite zgornje korake.

Skript z ukazom Wait:

Za predstavitev uporabljamo skripta 'hello.sh' in 'bash.sh'. Skript 'hello.sh' natisne številke od 1 do 5, skript 'bash.sh' pa pokliče hello.sh in ga zažene v ozadju, pri čemer ima PID hello.sh in čaka, da se konča.

Ustvarite dva skripta z imenom hello in bash:

V datoteko hello.sh dodajte spodnje vrstice:

#!/bin/bash

zajazv 1 2 3 4 5 6 7 8 9 10

naredi

vrgel venhello.sh - Številka zanke$ i.

Končano

V bash skript dodajte spodnje vrstice:

#!/bin/bash

vrgel venZačel bash.sh

vrgel venZačel hello.sh

./zdravo.sh&

process_id=$!

počakaj $ process_id

vrgel venDokončano hello.sh

Izhod:

Zaključek:

Ko želi uporabnik ustaviti postopek, sistem sprosti vse vire, ki jih proces obdrži, in počaka, da se drugi zažene. Proces moramo obvestiti, da lahko znova zažene izvajanje, ko so drugi procesi končani. Ukaz wait v bash čaka na dokončanje izvajanja in vrne izhodno stanje, ko je izvedba procesa končana. V tem priročniku smo videli nekaj primerov ukaza Bash wait v Linuxu.