Ventestyringens udgangsstatus afhænger af den kommando, der er angivet med den sidst angivne operand. Når en proces slutter unormalt, vil exit-status være større end 128 og skal være forskellig fra exit-statusværdierne for andre kommandoer. vente kommandoen afsluttes med værdien 0, når den ringer uden operander, og alle proces-id'er er kendt af den aktuelle skal, er afsluttet. Hvis ventekommandoen registrerer en fejl, returnerer den en værdi fra 1 til 126. Hvis den sidste proces-id er ukendt, afslutter ventekommandoen med værdi 127. Hvordan du kan bruge ventekommandoen i Linux vises i denne vejledning.
Eksempel 1: Brug af ventekommandoen til flere processer
Efter udførelse af følgende script kører to processer i baggrunden, og proces-id'et for den første ekkokommando gemmes i $ process_id-variablen. Når ventekommandoen udføres med $ process_id, venter den næste kommando på at fuldføre opgaven med den første ekkokommando. Den anden ventekommando bruges med '$!'og dette angiver proces-id'et for den sidste kørende proces. ''$?'bruges til at læse statusværdien af ventekommandoen.
#!/ bin / bashekko "test vent kommando1" &
process_id = $!
ekko "test vent kommando2" &
vent $ process_id
ekko Job 1 afsluttet med status $?
vent $!
ekko Job 2 afsluttet med status $?
Produktion:
$ bash vent1.sh
Eksempel 2: Test vent kommando efter brug af kill kommando
I det følgende script udføres ventekommandoen, efter at processen er afsluttet. sleep-kommandoen kører som en baggrundsproces, og kill-kommandoen udføres for at afslutte den kørende proces. Herefter udføres ventekommandoen med proces-id for den afsluttede proces. Outputtet viser proces-id for den afsluttede proces.
#!/ bin / bashekko "Test af ventekommando"
sove 20 &
pid = $!
dræb $ pid
vent $ pid
echo $ pid blev afsluttet.
Produktion:
$ bash vent2.sh
Eksempel 3: Kontroller udgangsstatusværdien
I det følgende script, funktionen kontrollere() kaldes af to argumentværdier. Det diskuteres i starten af vejledningen, at hvis ventekommandoen udføres med succes, vil exitværdien være 0, og hvis ventekommandoen registrerer en fejl, returnerer den en værdi mellem 1 og 126. Efter at have kørt scriptet, hvis du videregiver 0 som anden argumentværdi, afsluttes ventekommandoen med succes, og hvis du videregiver en værdi mere end nul, afsluttes den uden held.
#!/ bin / bashfunktionskontrol ()
ekko "Sov i $ 1 sekunder"
sove $ 1
afslut $ 2
tjek $ 1 $ 2 &
b = $!
ekko "Kontrol af status"
vent $ b && ekko OK || ekko IKKE OK
Produktion:
$ bash vent3.sh 3 0$ bash vent3.sh 3 5
Håber, denne tutorial hjælper med at lære brug af ventekommandoen korrekt. Der er en anden kommando i Linux, der hedder søvn at vente på et bestemt antal gange, men der er nogle forskelle mellem disse kommandoer. Hvis du er interesseret i at vide om søvnkommando, kan du besøge dette link.