Bash Wait naredba u Linuxu

Bash Wait Command Linux

Čekanje je naredba Linuxa koja vraća izlazni status nakon čekanja na potpuni pokrenuti proces. Kada se nekoliko procesa izvodi istovremeno, naredba wait može pratiti samo posljednji. Ako naredba wait nije povezana s ID -om posla ili procesa, pričekat će dovršetak svih podređenih procesa prije nego što vrati status izlaska. Naredba bash wait često se koristi s naredbom ID -i procesa ili ID -i poslova.

U ovom ćemo vodiču istražiti naredbu Bash Wait u Linuxu.



Sintaksa:

Opća sintaksa naredbe Wait u Linuxu je:



pričekajte [opcija] ID

ID bi bio ID procesa ili ID posla.



Objašnjenje Bash Wait naredbe u Linuxu:

Prvo stvorite datoteku pomoću naredbe touch:

$dodirBashWait.sh

Ovu datoteku učinite izvršnom pomoću naredbe u nastavku:



$chmod+x naziv datoteke

Nakon što se datoteci dodijele izvršne ovlasti, otvorite datoteku i napišite skriptu u bash datoteci:

#!/bin/bash

spavati 3 &

processID=$!

izbaciti 'PID:$ processID'

čekati $ processID

izbaciti 'Izlazni status: $?'

$! je varijabla u BASH -u koja pohranjuje PID najnovijeg procesa.

Sada pokrenite skriptu na sljedeći način:

$./naziv datoteke

$./BashWait.sh

U ljusci će se pojaviti ID procesa i status Exist.

Korištenje opcije –n:

S opcijom –n, naredba čeka samo čeka da se završi jedan posao iz navedenog ID -a procesa ili specifikacija posla prije vraćanja statusa izlaska. Wait -n čeka da se bilo koji pozadinski posao dovrši i vraća status izlaska iz posla ako nisu navedeni argumenti.

Napišite dolje navedene retke u svoju skriptu:

#!/bin/bash

spavati 30 &

spavati 8 &

spavati 7 &

čekati -n

izbaciti 'Prvi posao je dovršen.'

čekati

izbaciti 'Svi poslovi su dovršeni.'

Zatim ponovno pokrenite skriptu i kad prvi posao bude dovršen, ispisat će poruku na terminalu i pričekati da se dovrše svi ostali poslovi.

Korištenje opcije -f:

Opcija -f čeka da se zaustavi svaki ID procesa ili posao prije vraćanja izlaznog koda. Kontrola posla prema zadanim je postavkama dostupna samo za responzivne upite.

Otvorite terminal i pokrenite naredbu:

Pričekajte proces 3944.

Otvorite drugi prozor terminala i izvedite naredbu kill da biste prekinuli proces.

Status će se promijeniti. Naredba Wait će dovršiti i vratiti izlazni kod procesa.

Ponovite gore navedene korake naredbom –f.

Skripta s naredbom Wait:

Za demonstraciju koristimo skripte 'hello.sh' i 'bash.sh'. Skripta ‘hello.sh’ ispisuje brojeve od 1 do 5, a skripta ‘bash.sh’ poziva hello.sh i izvodi je u pozadini, ima PID hello.sh i čeka da završi.

Napravite dvije skripte s imenom hello i bash:

Dodajte dolje navedene retke u datoteku hello.sh:

#!/bin/bash

zaiu 1 2 3 4 5 6 7 8 9 10

čini

izbacitihello.sh - Broj petlje$ i.

učinjeno

Dodajte dolje navedene retke u bash skriptu:

#!/bin/bash

izbacitiZapočeo bash.sh

izbacitiZapočeo pozdrav.sh

./zdravo.sh&

process_id=$!

čekati $ process_id

izbacitiDovršeno hello.sh

Izlaz:

Zaključak:

Kada korisnik želi zaustaviti proces, sustav oslobađa sve resurse koje proces zadržava i čeka da se drugi pokrene. Morat ćemo obavijestiti proces da može ponovno pokrenuti izvršavanje nakon dovršetka ostalih procesa. Naredba wait u bash čeka dovršetak izvođenja i vraća status izlaza kad je izvršenje procesa dovršeno. U ovom priručniku vidjeli smo neke primjere naredbe čekanja Bash u Linuxu.