Ukazi za Linux

Počakajte ukaz v Linuxu

Počakajte ukaz v Linuxu
počakaj je vgrajen ukaz Linuxa, ki čaka na dokončanje katerega koli tekočega procesa. počakaj ukaz se uporablja z določenim ID-jem postopka ali ID-jem opravila. Ko se v lupini izvaja več procesov, bo trenutna lupina poznala samo ID procesa zadnjega ukaza. Če se tokrat izvede ukaz wait, bo uporabljen za zadnji ukaz. Če z ukazom za čakanje ni podan ID procesa ali ID opravila, bo počakal, da se končajo vsi trenutni podrejeni procesi, in vrne stanje izhoda.

Vrednost stanja izhoda čakalnega ukaza je odvisna od ukaza, ki ga označuje zadnji navedeni operand. Ko se kateri koli postopek nenavadno konča, bo stanje izstopa večje od 128 in se bo razlikovalo od vrednosti stanja izhoda drugih ukazov. počakaj ukaz izstopi z vrednostjo 0, ko pokliče brez operandov in če je trenutna lupina končala vse ID-je procesov. Če ukaz wait zazna napako, vrne katero koli vrednost od 1 do 126. Če je zadnji ID procesa neznan, potem čakalni ukaz zapusti vrednost 127. Kako lahko uporabite ukaz za čakanje v Linuxu, je prikazano v tej vadnici.

Primer-1: Uporaba ukaza za čakanje za več procesov

Po izvedbi naslednjega skripta se bosta v ozadju izvajala dva procesa, ID procesa prvega ukaza echo pa bo shranjen v spremenljivki $ process_id. Ko se ukaz za čakanje izvede z $ process_id, bo naslednji ukaz čakal na dokončanje naloge prvega ukaza echo. Drugi ukaz za čakanje se uporablja z '$!'in to označuje ID procesa zadnjega zagnanega procesa. "$?'se uporablja za branje vrednosti stanja čakalnega ukaza.

#!/ bin / bash
echo "preskus čakanja command1" &
process_id = $!
echo "preskus čakanja command2" &
počakajte $ process_id
echo Job 1 exited with status $?
počakaj $!
echo Job 2 exited with status $?

Izhod:

$ bash počakaj1.sh

Primer-2: Preizkusite ukaz za čakanje po uporabi ukaza kill

V naslednjem skriptu se po zaključku postopka izvede ukaz wait. ukaz sleep se izvaja kot proces v ozadju, ukaz kill pa se izvede, da zaključi teče postopek. Po tem se ukaz za čakanje izvede z ID-jem procesa zaključenega procesa. Rezultat bo prikazal ID postopka zaključenega procesa.

#!/ bin / bash
echo "Testiranje ukaza za čakanje"
spi 20 &
pid = $!
ubiti $ pid
počakaj $ pid
echo $ pid je bil zaključen.

Izhod:

$ bash počakaj2.sh

Primer-3: Preverite vrednost stanja izhoda

V naslednjem skriptu funkcija preveri () se imenuje z dvema vrednostma argumentov. Na začetku vadnice je razpravljeno, da bo pri uspešnem izvedbi čakalnega ukaza izhodna vrednost 0 in če bo čakalni ukaz zaznal napako, bo vrnil katero koli vrednost med 1 in 126. Če po zagonu skripta prenesete 0 kot drugo vrednost argumenta, se ukaz wait uspešno konča in če prenesete katero koli vrednost večjo od nič, se neuspešno konča.

#!/ bin / bash
preverjanje funkcije ()

echo "Sleep for $ 1 seconds"
spi 1 dolar
zapustite $ 2

preverite 1 $ 2 $ &
b = $!
echo "Preverjanje stanja"
počakaj $ b && echo OK || echo NOT OK

Izhod:

$ bash počakaj3.sh 3 0
$ bash počakaj3.sh 3 5

Upam, da bo ta vadnica pomagala pravilno naučiti uporabo ukaza za čakanje. V Linuxu obstaja še en ukaz, imenovan spanje počakati določen čas, vendar obstajajo nekatere razlike med temi ukazi. Če vas zanima vedeti o ukazu za spanje, lahko obiščete to povezavo.

Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...
Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...