„Linux“ komandos

„Bash Wait“ komanda „Linux“

„Bash Wait“ komanda „Linux“
Laukimas yra „Linux“ komanda, kuri grąžina išėjimo būseną palaukus viso vykdomo proceso. Kai vienu metu veikia keli procesai, laukimo komanda gali sekti tik paskutinį. Jei laukimo komanda nėra susieta su darbo ar proceso ID, ji palauks, kol visi antriniai procesai bus baigti, kol grąžins išėjimo būseną. „Bash wait“ komanda dažnai naudojama kartu su proceso ID arba „Job ID“ komanda.

Šioje pamokoje mes ištirsime „Bash Wait“ komandą sistemoje „Linux“.

Sintaksė:

Bendra laukimo komandos sintaksė sistemoje „Linux“ yra:

palaukite [variantas] ID

ID būtų proceso ID arba darbo ID.

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

Pirmiausia sukurkite failą naudodami komandą „touch“:

$ palieskite „BashWait“.sh

Padarykite šį failą vykdomą naudodami šią komandą:

$ chmod + x failo vardas

Kai failui bus suteiktos vykdomojo privilegijos, atidarykite failą ir parašykite scenarijų „bash“ faile:

#!/ bin / bash
miegoti 3 ir
proceso ID = $!
echo „PID: $ processID“
palaukite $ processID
echo "Išėjimo būsena: $?"

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

Dabar paleiskite scenarijų taip:

$ ./failo pavadinimas
$ ./ „BashWait“.sh

Proceso ID ir esamoji būsena bus rodomi apvalkale.

Naudojant -n parinktį:

Pasirinkus -n, laukimo komanda laukia, kol baigsis viena užduotis iš pateikto proceso ID arba darbo specifikacijų, prieš grąžindama jos išėjimo būseną. Palaukite -n laukia, kol baigsis foninis darbas, ir grąžina išėjimo iš darbo būseną, jei nepateikiama jokių argumentų.

Į scenarijų įrašykite žemiau pateiktas eilutes:

#!/ bin / bash
miegoti 30 ir
miegoti 8 ir
miegoti 7 ir
palauk -n
aidas "Pirmas darbas baigtas."
laukti
aidas "Visi darbai baigti."

Tada vėl paleiskite scenarijų ir, kai baigsite pirmąją užduotį, jis atsispausdins pranešimą terminale ir lauks, kol bus baigti visi kiti darbai.

Naudojant parinktį -f:

Pasirinkimas -f laukia, kol kiekvienas proceso ID arba užduotis bus sustabdytas, prieš grąžindamas išėjimo kodą. Pagal numatytuosius nustatymus darbo valdymas galimas tik reaguojant į raginimus.

Atidarykite terminalą ir paleiskite komandą:

Palaukite 3944 proceso.

Norėdami užbaigti procesą, atidarykite kitą terminalo langą ir vykdykite komandą kill.

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

Pakartokite aukščiau pateiktus veiksmus naudodami komandą -f.

Scenarijus su komanda Laukti:

Mes naudojame „labas“.sh 'ir' bash.parodomieji scenarijai. Sveiki.„sh“ scenarijus spausdina skaičius nuo 1 iki 5 ir „bash.sh 'scenarijus skambina labas.sh ir paleidžia jį fone, turėdamas sveiką PID.sh ir laukiu jo pabaigos.

Sukurkite du scenarijus pavadinimu labas ir bash:

Sveiki pridėkite toliau pateiktas eilutes.sh failas:

#!/ bin / bash
i i 1 2 3 4 5 6 7 8 9 10
padaryti
aidas „labas.sh - kilpos numeris $ i.“
padaryta

Į bash scenarijų įtraukite žemiau pateiktas eilutes:

#!/ bin / bash
aidas „Pradėjo bash.sh “
aidas „Pradėjau labas.sh “
./Sveiki.sh &
proceso_id = $!
palaukite $ process_id
aidas „Užbaigta labas.sh

Išvestis:

Išvada:

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

Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...
Kaip parodyti FPS skaitiklį „Linux“ žaidimuose
„Linux“ žaidimai gavo didelį postūmį, kai „Valve“ paskelbė „Linux“ palaikymą „Steam“ klientui ir jų žaidimams 2012 m. Nuo tada daugelis AAA ir indie ž...
Kaip atsisiųsti ir paleisti „Sid Meier Civilization VI“ sistemoje „Linux“
Įvadas į žaidimą „Civilization 6“ yra šiuolaikinė klasikinės koncepcijos, pristatytos „Age of Empires“ žaidimų serijoje, koncepcija. Idėja buvo gana p...