Ebben az oktatóanyagban megvizsgáljuk a Bash Wait parancsot Linux alatt.
Szintaxis:
A Wait parancs általános szintaxisa Linuxon:
várakozás [opció] azonosító
Az azonosító folyamatazonosító vagy jobazonosító lehet.
A Bash Wait parancs magyarázata Linuxon:
Először hozzon létre egy fájlt az érintőképernyő parancs használatával:
$érintésBashWait.sh
Az alábbi paranccsal tegye futtathatóvá ezt a fájlt:
$chmod+x fájlnév
Miután a végrehajtható jogosultságokat megadták a fájlnak, nyissa meg a fájlt, és írjon egy szkriptet a bash fájlba:
#!/bin/bashalvás 3 &
processID=$!
kidobta 'PID:$ processID'
várjon $ processID
kidobta 'Kilépés állapota: $?'
$! egy változó a BASH -ban, amely a legutóbbi folyamat PID -jét tárolja.
Most futtassa a szkriptet az alábbiak szerint:
$./fájl név$./BashWait.sh
A folyamat azonosítója és a létező állapot megjelenik a héjban.
A –n opció használata:
A –n opciónál a wait parancs csak a megadott folyamatazonosítóból vagy job specifikációkból vár egyetlen feladat befejezését, mielőtt visszatér a kilépési állapotához. Várjon -n megvárja, amíg bármely háttérmunka befejeződik, és visszatér a feladat kilépési állapotához, ha nincsenek érvek.
Írja be az alábbi sorokat a forgatókönyvbe:
#!/bin/bashalvás 30 &
alvás 8 &
alvás 7 &
várjon -n
kidobta - Az első munka befejeződött.
várjon
kidobta - Minden munkát befejeztek.
Ezután futtassa újra a szkriptet, és amikor az első munka befejeződött, kinyomtatja az üzenetet a terminálon, és várja az összes többi feladat befejezését.
A –f opció használata:
A -f opció várja a folyamatazonosítót vagy a feladat leállását, mielőtt visszaadja a kilépési kódot. A feladatvezérlés alapértelmezés szerint csak reagáló felszólítások esetén érhető el.
Nyissa meg a terminált és futtassa a parancsot:
Várja meg a 3944 folyamatot.
Nyisson meg egy másik terminál ablakot, és hajtsa végre a kill parancsot a folyamat befejezéséhez.
Az állapot megváltozik. A Wait parancs befejezi és visszaadja a folyamat kilépési kódját.
Ismételje meg a fenti lépéseket az –f paranccsal.
Szkript Wait paranccsal:
A „hello.sh” és a „bash.sh” szkripteket használjuk a demonstrációhoz. A „hello.sh” szkript 1 -től 5 -ig számokat nyomtat, a „bash.sh” szkript pedig a hello.sh -t hívja, és a háttérben futtatja, a hello.sh PID azonosítójával, és várja, hogy vége legyen.
Hozzon létre két szkriptet hello és bash névvel:
Adja hozzá az alábbi sorokat a hello.sh fájlhoz:
#!/bin/bashszámáraénban ben 1 2 3 4 5 6 7 8 9 10
tedd
kidobtahello.sh - Hurok szám$ i.
Kész
Adja hozzá az alábbi sorokat a bash szkripthez:
#!/bin/bashkidobtaElindult a bash.sh
kidobtaElindult a hello.sh
./hello.sh&
process_id=$!
várjon $ process_id
kidobtaElkészült a hello.sh
Kimenet:
Következtetés:
Amikor a felhasználó le akar állítani egy folyamatot, a rendszer felszabadítja a folyamat által tárolt összes erőforrást, és várja, hogy egy másik elinduljon. Értesítenünk kell a folyamatot, hogy a többi folyamat befejezése után újraindíthatja a végrehajtást. A bash -ban lévő wait parancs várja a végrehajtás befejezését, és a folyamat végrehajtásának befejezésekor visszaadja a kilépési állapotot. Ebben a kézikönyvben néhány példát láttunk a Bash wait parancsra Linuxon.