Selles õpetuses uurime Linuxis käsku Bash Wait.
Süntaks:
Wait-käsu üldine süntaks Linuxis on:
oota [valik] ID
ID oleks protsessi ID või töö ID.
Bashi ootamise käsu selgitamine Linuxis:
Kõigepealt looge fail puutetundliku käsu abil:
$ puudutage BashWait.sh
Muutke see fail käivitatavaks, kasutades järgmist käsku:
$ chmod + x failinimi
Kui failile on antud käivitatavad õigused, avage fail ja kirjutage skript bashi faili:
#!/ bin / bashmagama 3 ja
processID = $!
kaja "PID: $ processID"
oota $ processID
kaja "Väljumise olek: $?"
$! on muutuja BASH-is, mis salvestab viimase protsessi PID.
Nüüd käivitage skript järgmiselt:
$ ./faili nimi$ ./ BashWait.sh
Protsessi ID ja olek kuvatakse kestas.
Kasutades -n valikut:
Valiku -n korral ootab ootekäsk enne väljumisoleku tagastamist ainult ühe töö lõpetamise antud ID-st või töö spetsifikatsioonidest. Oota -n ootab, kuni mõni tausttöö lõpeb, ja tagastab töölt väljumise oleku, kui argumente pole esitatud.
Kirjutage oma skripti allpool toodud read:
#!/ bin / bashmagada 30 ja
magama 8 ja
magama 7 ja
oota-n
kaja "Esimene töökoht on lõpetatud."
oota
kaja "Kõik tööd on lõpetatud."
Järgmisena käivitage skript uuesti ja kui esimene töö on lõpule jõudnud, prindib see terminali teate ja ootab kõigi muude tööde lõpetamist.
Kasutades valikut -f:
Valik -f ootab enne väljumiskoodi tagastamist iga protsessi ID või töö peatumist. Töö juhtimine on vaikimisi saadaval ainult reageerivate viipade korral.
Avage terminal ja käivitage käsk:
Oodake protsessi 3944.
Protsessi lõpetamiseks avage teine terminaliaken ja käivitage käsk kill.
Olekut muudetakse. Käsk Oota lõpeb ja tagastab protsessi väljumise koodi.
Korrake ülaltoodud samme käsuga -f.
Skript käsuga Oota:
Kasutame tere.sh 'ja' bash.sh skriptid demonstratsiooniks. Tere.sh 'skript trükib numbreid 1 kuni 5 ja' bash.sh 'skript kutsub tere.sh ja käivitab selle taustal, millel on tere PID.sh ja ootan selle lõppu.
Looge kaks skripti nimega tere ja bash:
Tere lisage allpool toodud read.sh fail:
#!/ bin / bashi jaoks 1 2 3 4 5 6 7 8 9 10
tegema
kaja “tere.sh - silmuse number $ i.”
tehtud
Lisage bashi skripti allpool toodud read:
#!/ bin / bashkaja “Alustas bash.sh ”
kaja “Alustas tere.sh ”
./Tere.sh &
process_id = $!
oota $ process_id
kaja “Lõpetatud tere.sh
Väljund:
Järeldus:
Kui kasutaja soovib protsessi peatada, vabastab süsteem kõik protsessis hoitavad ressursid ja ootab teise käivitamist. Peame protsessist teatama, et see võib käivitada taaskäivitamise, kui muud protsessid on lõpule viidud. Ootuskäsk bashis ootab täitmise lõpuleviimist ja tagastab väljumise oleku, kui protsess on lõpule viidud. Selles käsiraamatus oleme näinud mõningaid näiteid Linuxi Bash wait -käsust.