Ootekäsu väljumise oleku väärtus sõltub viimasest määratud operandist näidatud käsust. Kui mõni protsess lõpeb ebanormaalselt, on väljumise olek suurem kui 128 ja see erineb teiste käskude väljumise oleku väärtustest. oota käsk väljub väärtusega 0, kui ta helistab ilma operandideta ja kõik protsessi ID -d on praeguse kestaga teada. Kui ootekäsk tuvastab vea, tagastab see väärtuse vahemikus 1 kuni 126. Kui viimane protsessi ID pole teada, väljub käsk wait väärtusega 127. Selles juhendis on näidatud, kuidas Linuxis käsku wait kasutada.
Näide-1: ootamise käsu kasutamine mitme protsessi jaoks
Pärast järgmise skripti täitmist töötab taustal kaks protsessi ja esimese kaja käsu protsessi ID salvestatakse muutujale $ process_id. Kui käsk wait käivitatakse käsuga $ process_id, ootab järgmine käsk esimese kajakäsu ülesande täitmist. Teist ootamise käsku kasutatakse koos ' $! 'Ja see näitab viimase töötava protsessi ID -d. ' $? 'Kasutatakse ootekäsu oleku väärtuse lugemiseks.
#!/bin/bash
viskas välja 'testimise ootamise käsk1' &
protsessi_id=$!
viskas välja 'testimise ootamise käsk2' &
oota $ process_id
viskas väljaTöö1staatusega väljunud$?
oota $!
viskas väljaTöö2staatusega väljunud$?
Väljund:
$löömaoota1.sh
Näide 2: testige ootamise käsku pärast tapmiskäskluse kasutamist
Järgmises skriptis käivitatakse pärast protsessi lõpetamist käsk wait. unekäsk töötab taustprotsessina ja käsk tappa käivitatakse jooksva protsessi lõpetamiseks. Pärast seda käivitatakse ootel käsk lõpetatud protsessi protsessi ID -ga. Väljund näitab lõpetatud protsessi protsessi ID -d.
#!/bin/bashviskas välja „Ootamise testimise testimine”
magama kakskümmend &
pid=$!
tappa $ pid
oota $ pid
viskas välja $ pidlõpetati.
Väljund:
$löömaoota2.sh
Näide-3: kontrollige väljumise oleku väärtust
Järgmises skriptis funktsioon Kontrollima() nimetatakse kahe argumendi väärtusega. Õpetuse alguses on arutatud, et kui käsk wait käivitati edukalt, on väljumisväärtus 0 ja kui käsk wait tuvastab vea, tagastab see väärtuse vahemikus 1 kuni 126. Pärast skripti käivitamist, kui läbite teise argumendina 0 väärtus, siis oota käsk lõpeb edukalt ja kui edastad mõne väärtuse rohkem kui null, lõpeb see ebaõnnestunult.
#!/bin/bashfunktsiooniKontrollima()
{
viskas välja 'Maga 1 $ sekundit'
magama $ 1
väljumine 2 dollarit
}
Kontrollima$ 1 2 dollarit &
b=$!
viskas välja 'Staatuse kontrollimine'
oota $ b && viskas väljaOkei|| viskas väljaEI OLE OK
Väljund:
$löömaoota3.sh3 0$löömaoota3.sh3 5
Loodetavasti aitab see õpetus kasutamise ootamise käsku õigesti õppida. Linuxis on veel üks käsk nimega magama oodata teatud kordi, kuid nende käskude vahel on mõningaid erinevusi. Kui olete huvitatud sellest teadma une käsk siis saate seda linki külastada.