Ootel käsu väljumise oleku väärtus sõltub viimasest määratud operandist näidatud käsust. Kui mõni protsess lõpeb ebaharilikult, on väljumise olek suurem kui 128 ja erineb teiste käskude väljumise oleku väärtustest. oota käsk väljub väärtusega 0, kui ta kutsub ilma operandita ja kõik protsessi ID-d on teada, et praegune kest on lõpetatud. Kui ootamise käsk tuvastab vea, tagastab see väärtuse 1 kuni 126. Kui viimane protsessi ID pole teada, siis väljub ootel käsk väärtusega 127. Kuidas Linuxis oodata saab kasutada, on selles õpetuses näidatud.
Näide 1: ootel käsu kasutamine mitme protsessi jaoks
Pärast järgmise skripti käivitamist töötab taustal kaks protsessi ja esimese kaja käsu protsessi ID salvestatakse muutuja $ process_id. Kui käsk $ wait_id käivitatakse ootamise käsk, ootab järgmine käsk esimese kajakäsu ülesande täitmist. Teist ootamiskäsku kasutatakse koos '$!"ja see näitab viimase käimasoleva protsessi ID-d. "$?'kasutatakse ootamise käsu olekuväärtuse lugemiseks.
#!/ bin / bashkaja "ootel käsu testimine1" &
process_id = $!
kaja "ootel käsu2 testimine" &
oota $ process_id
kaja Töö 1 lahkus olekuga $?
oota $!
kaja Töö 2 lahkus olekuga $?
Väljund:
$ bash ootama1.sh
Näide 2: pärast käsu kill kasutamist kasutage käsku oodake
Järgmises skriptis käivitatakse ootamise käsk pärast protsessi lõpetamist. unekäsk töötab taustaprotsessina ja käsk tappa käivitatakse, et lõpetada töötav protsess. Pärast seda käivitatakse ootamise käsk lõpetatud protsessi protsessi ID-ga. Väljund näitab lõpetatud protsessi protsessi ID-d.
#!/ bin / bashkaja "Ootel käsu testimine"
magada 20 ja
pid = $!
tappa $ pid
oota $ pid
echo $ pid lõpetati.
Väljund:
$ bash ootama2.sh
3. näide: kontrollige väljumise oleku väärtust
Järgmises skriptis funktsioon Kontrollima() nimetatakse kaheks argumendi väärtuseks. Õpetuse alguses arutatakse, et kui ootekäsk käivitatakse edukalt, on väljumisväärtus 0 ja kui ootekäsk tuvastab vea, tagastab see väärtuse vahemikus 1 kuni 126. Pärast skripti käivitamist, kui edastate 0 teise argumendiväärtusena, siis ootamise käsk lõpeb edukalt ja kui edastate väärtuse, mis on suurem kui null, lõpetatakse see ebaõnnestunult.
#!/ bin / bashfunktsiooni kontroll ()
kaja "Magage 1 sekundi eest"
magada $ 1
väljumine $ 2-st
kontrollige $ 1 $ 2 &
b = $!
kaja "Oleku kontrollimine"
oota $ b && kaja OK || kaja EI OLE OK
Väljund:
$ bash ootama3.sh 3 0$ bash ootama3.sh 3 5
Loodetavasti aitab see õpetus kasutamise ootamise käsku korralikult õppida. Linuxis on veel üks käsk nimega magama teatud arvu kordade ootamiseks, kuid nende käskude vahel on mõningaid erinevusi. Kui soovite unekäskude kohta teada saada, võite külastada seda linki.