Oodake käsku Linuxis

Wait Command Linux



oota on Linuxi sisseehitatud käsk, mis ootab jooksva protsessi lõpuleviimist. oota käsku kasutatakse konkreetse protsessi ID või töö ID -ga. Kui kestas töötab mitu protsessi, tunneb praegune kest ainult viimase käsu protsessi ID -d. Kui seekord käivitatakse ootekäsk, rakendatakse seda viimasele käsule. Kui ootekäsuga ei anta protsessi ID -d ega töö ID -d, ootab see kõigi praeguste alamprotsesside lõpuleviimist ja tagastab väljumise oleku.

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/bash
viskas 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/bash
funktsiooniKontrollima()
{
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.