A wait parancs kilépési állapotának értéke az utoljára megadott operandus által jelzett parancstól függ. Ha bármely folyamat rendellenesen fejeződik be, akkor a kilépési állapot nagyobb lesz, mint 128, és különböznie kell a többi parancs kilépési állapotának értékeitől. várjon A parancs 0 értékkel lép ki, amikor operandus nélkül hív, és az összes folyamatazonosítót az aktuális héj megszüntette. Ha a wait parancs hibát észlel, akkor az értéket 1-től 126-ig adja vissza. Ha az utolsó folyamatazonosító ismeretlen, akkor a wait parancs kilép a 127 értékkel. Ez az oktatóanyag megmutatja, hogyan használható a várakozás parancs Linux alatt.
1. példa: Várakozási parancs használata több folyamathoz
A következő parancsfájl végrehajtása után két folyamat fut a háttérben, és az első echo parancs folyamatazonosítója a $ process_id változóban van tárolva. Amikor a wait parancsot a $ process_id paranccsal hajtják végre, a következő parancs megvárja az első echo parancs feladatának befejezését. A második várakozási parancsot a '$!'és ez jelzi az utolsó futó folyamat azonosítóját. "$?'a várakozási parancs állapotértékének kiolvasására szolgál.
#!/ bin / bashecho "teszt várakozási parancs1" &
process_id = $!
echo "teszt várakozási parancs2" &
várjon $ process_id
echo 1. job kilépett $ státusszal?
várj $!
echo Job 2 állapotból kilépett?
Kimenet:
$ bash wait1.SH
2. példa: A várakozási parancs tesztelése a kill parancs használata után
A következő parancsfájlban a wait parancs végrehajtása a folyamat befejezése után történik. az sleep parancs háttérfolyamatként fut, és a kill parancs végrehajtásra kerül a futási folyamat leállításához. Ezt követően a várakozási parancs végrehajtásra kerül a befejezett folyamat folyamatazonosítójával. A kimenet megmutatja a befejezett folyamat folyamatazonosítóját.
#!/ bin / bashecho "Várakozási parancs tesztelése"
aludj 20 &
pid = $!
öl $ pid
várj $ pid
az echo $ pid megszűnt.
Kimenet:
$ bash wait2.SH
3. példa: Ellenőrizze a kilépési állapot értékét
A következő szkriptben a függvény jelölje be() két argumentumérték hívja meg. Az oktatóanyag kezdetén szó esik arról, hogy ha a wait parancs sikeresen végrehajtásra kerül, a kilépési érték 0, és ha a wait parancs hibát észlel, akkor 1 és 126 közötti értéket ad vissza. A szkript futtatása után, ha második argumentumértékként adja meg a 0 értéket, akkor a wait parancs sikeresen leáll, és ha nullánál nagyobb értéket ad meg, akkor az sikertelenül fejeződik be.
#!/ bin / bashfunkcióellenőrzés ()
visszhang: "Aludj 1 másodpercig"
aludj 1 dollárt
exit $ 2
ellenőrizze $ 1 $ 2 &
b = $!
echo "Állapot ellenőrzése"
várjon $ b && visszhang OK || visszhang NEM OK
Kimenet:
$ bash wait3.sh 3 0$ bash wait3.sh 3 5
Remélem, ez az oktatóanyag segít megtanulni a use wait parancsot. Van még egy parancs a Linuxban, a neve alvás várni egy bizonyos ideig, de van néhány különbség a parancsok között. Ha érdekel az alvás parancs, akkor látogassa meg ezt a linket.