Bash Wait parancs Linuxon

Bash Wait Command Linux



A wait egy Linux parancs, amely a teljes futási folyamat várakozása után visszatér a kilépési állapothoz. Ha egyszerre több folyamat is fut, a wait parancs csak az utolsót tudja nyomon követni. Ha a várakozás parancs nincs társítva jobhoz vagy folyamatazonosítóhoz, akkor a kilépési állapot visszaadása előtt megvárja az összes gyermekfolyamat befejezését. A bash wait parancsot gyakran használják a folyamatazonosítók vagy a feladat azonosítók paranccsal.

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/bash

alvá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/bash

alvá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/bash

szá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/bash

kidobtaElindult 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.