„Bash Wait“ komanda „Linux“

Bash Wait Command Linux



Laukimas yra „Linux“ komanda, kuri grąžina išėjimo būseną po to, kai laukiama viso veikimo proceso. Kai vienu metu vyksta keli procesai, laukimo komanda gali sekti tik paskutinį. Jei laukimo komanda nėra susieta su užduotimi ar proceso ID, ji grąžins išėjimo būseną, kol bus baigti visi antriniai procesai. „Bash wait“ komanda dažnai naudojama su proceso ID arba užduoties ID.

Šioje pamokoje mes išnagrinėsime „Bash Wait“ komandą „Linux“.







Sintaksė:

Bendroji „Wait“ komandos sintaksė „Linux“ yra tokia:



laukti [parinktis] ID

ID būtų proceso ID arba darbo ID.



„Bash Wait“ komandos paaiškinimas „Linux“:

Pirmiausia sukurkite failą naudodami jutiklinę komandą:





$liestiBashWait.sh

Padarykite šį failą vykdomąjį naudodami toliau pateiktą komandą:



$chmod+x failo pavadinimas

Kai failui bus suteiktos vykdomosios teisės, atidarykite failą ir parašykite scenarijų bash faile:

#!/bin/bash

miegoti 3 &

processID=$!

išmetė „PID:$ processID'

laukti $ processID

išmetė 'Išėjimo būsena: $?'

$! yra BASH kintamasis, kuriame saugomas naujausio proceso PID.

Dabar paleiskite scenarijų taip:

$./failo pavadinimas

$./BashWait.sh

Apvalkale pasirodys proceso ID ir būsena.

Naudojant –n parinktį:

Pasirinkus –n, laukimo komanda laukia tik vienos užduoties iš pateikto proceso ID arba užduoties specifikacijų, kol bus baigta, prieš grąžindama išėjimo būseną. Palaukite -n laukia, kol bus baigta bet kokia foninė užduotis, ir grąžina išėjimo iš darbo būseną, jei nepateikiami argumentai.

Savo scenarijuje parašykite žemiau pateiktas eilutes:

#!/bin/bash

miegoti 30 &

miegoti 8 &

miegoti 7 &

laukti -n

išmetė „Pirmasis darbas baigtas“.

laukti

išmetė „Visi darbai baigti“.

Tada paleiskite scenarijų dar kartą ir, kai bus atlikta pirmoji užduotis, jis išspausdins pranešimą terminale ir palauks, kol bus baigtos visos kitos užduotys.

Naudojant parinktį -f:

Pasirinkimas -f laukia, kol kiekvienas proceso ID ar užduotis sustos, prieš grąžindamas išėjimo kodą. Pagal numatytuosius nustatymus darbo valdymas galimas tik reaguojantiems raginimams.

Atidarykite terminalą ir paleiskite komandą:

394. palaukite

Atidarykite kitą terminalo langą ir vykdykite komandą kill, kad užbaigtumėte procesą.

Būsena bus pakeista. Laukimo komanda užbaigs ir grąžins proceso išėjimo kodą.

Pakartokite aukščiau nurodytus veiksmus su komanda -f.

Scenarijus su komanda Wait:

Demonstracijai naudojame „hello.sh“ ir „bash.sh“ scenarijus. „Hello.sh“ scenarijus spausdina skaičius nuo 1 iki 5, o „bash.sh“ scenarijus skambina „hello.sh“ ir paleidžia jį fone, turėdamas „hello.sh“ PID ir laukdamas, kol jis baigsis.

Sukurkite du scenarijus „hello“ ir „bash“:

Įdėkite toliau pateiktas eilutes į failą hello.sh:

#!/bin/bash

dėliį 1 2 3 4 5 6 7 8 9 10

daryti

išmetėhello.sh - ciklo numeris$ i.

padaryta

Į bash scenarijų pridėkite žemiau pateiktas eilutes:

#!/bin/bash

išmetėPradėjo bash.sh

išmetėPradėjo sveiki.sh

./sveiki.sh&

process_id=$!

laukti $ process_id

išmetėUžbaigta hello.sh

Išėjimas:

Išvada:

Kai vartotojas nori sustabdyti procesą, sistema atleidžia visus proceso saugomus išteklius ir laukia, kol prasidės kitas. Turėsime pranešti procesui, kad jis gali atnaujinti vykdymą, kai kiti procesai bus baigti. Laukimo komanda bash laukia užbaigimo ir grąžina išėjimo būseną, kai procesas bus baigtas. Šiame vadove matėme keletą „Bash wait“ komandos „Linux“ pavyzdžių.