Afslutningsstatusværdien for ventekommando afhænger af kommandoen angivet af den sidste angivne operand. Når en proces afsluttes unormalt, vil exit -status være større end 128 og skal være forskellig fra exit -statusværdierne for andre kommandoer. vente kommando afslutter med værdien 0, når den kalder uden operander, og alle proces -id'er kendes af den aktuelle skal er afsluttet. Hvis ventekommandoen opdager en fejl, returnerer den enhver værdi fra 1 til 126. Hvis det sidste proces -id er ukendt, afslutter ventekommandoen med værdien 127. Hvordan du kan bruge ventekommandoen i Linux, vises i denne vejledning.
Eksempel-1: Brug af ventekommando til flere processer
Efter at have udført følgende script, kører to processer i baggrunden, og proces -id'et for den første ekkokommando er gemt i $ process_id variabel. Når ventekommandoen udføres med $ process_id, vil den næste kommando vente på at fuldføre opgaven med den første ekkokommando. Den anden ventekommando bruges med ' $! 'Og dette angiver proces -id for den sidste kørende proces. ' $? 'Bruges til at læse statusværdien af ventekommandoen.
#!/bin/bash
smed ud 'test ventekommando1' &
proces_id=$!
smed ud 'test ventekommando2' &
vente $ proces_id
smed udJob1afsluttet med status$?
vente $!
smed udJob2afsluttet med status$?
Produktion:
$bashvent1.sh
Eksempel-2: Test ventekommando efter brug af kill-kommando
I det følgende script udføres ventekommandoen efter afslutning af processen. sleep -kommandoen kører som en baggrundsproces, og kill -kommandoen udføres for at afslutte den igangværende proces. Efter denne ventekommando udføres med proces -id for den afsluttede proces. Outputtet viser proces -id for den afsluttede proces.
#!/bin/bashsmed ud 'Test af ventekommando'
søvn tyve &
pid=$!
dræbe $ pid
vente $ pid
smed ud $ pidblev opsagt.
Produktion:
$bashwait2.sh
Eksempel-3: Kontroller værdien for udgangsstatus
I det følgende script, funktionen kontrollere() kaldes af to argumentværdier. Det diskuteres i starten af selvstudiet, at hvis ventekommandoen blev udført med succes, vil exit -værdien 0, og hvis ventekommandoen opdager en fejl, returnerer den en værdi mellem 1 og 126. Efter at have kørt scriptet, hvis du sender 0 som andet argument værdi, derefter venter kommandoen med succes, og hvis du passerer en værdi mere end nul, afsluttes den uden held.
#!/bin/bashfungerekontrollere()
{
smed ud 'Sov i 1 sekund'
søvn $ 1
Afslut $ 2
}
kontrollere$ 1 $ 2 &
b=$!
smed ud 'Kontrol af status'
vente $ b && smed udOkay|| smed udIKKE OK
Produktion:
$bashvent3.sh3 0$bashvent3.sh3 5
Håber, denne vejledning hjælper med at lære brugen af ventekommandoen korrekt. Der er en anden kommando i Linux, navngivet søvn at vente på det bestemte antal gange, men der er nogle forskelle mellem disse kommandoer. Hvis du er interesseret i at vide om kommando for søvn så kan du besøge dette link.