Utgangsstatusverdien på ventekommandoen avhenger av kommandoen som er angitt av den siste spesifiserte operanden. Når en prosess avsluttes unormalt, vil utgangsstatusen være større enn 128 og skal være forskjellig fra utgangsstatusverdiene til andre kommandoer. vente Kommandoutganger med verdien 0 når den ringer uten operander og alle prosess -ID -er er kjent av det nåværende skallet har avsluttet. Hvis Wait -kommandoen oppdager noen feil, returnerer den en hvilken som helst verdi fra 1 til 126. Hvis den siste prosess -IDen er ukjent, så vent -kommandoen går ut med verdi 127. Hvordan du kan bruke Wait Command i Linux vises i denne opplæringen.
Eksempel 1: Bruke vent-kommando for flere prosesser
Etter å ha utført følgende skript, vil to prosesser kjøres i bakgrunnen, og prosess -IDen til den første Echo -kommandoen lagres i $ prosess_id variabel. Når Wait -kommandoen blir utført med $ prosess_id, vil neste kommando vente på å fullføre oppgaven til den første Echo -kommandoen. Den andre ventekommandoen brukes med '$!'Og dette indikerer prosess -ID for den siste løpsprosessen. '$?'Brukes til å lese statusverdien til Wait -kommandoen.
#!/bin/bash
ekko "Testing Wait Command1" &
prosess_id = $!
ekko "Testing Wait Command2" &
Vent $ prosess_id
ekkojobb 1 forlatt med status $?
vent $!
ekkojobb 2 forlot status $?
Produksjon:
$ bash wait1.sh
Eksempel-2: Test vent-kommando etter å ha brukt Kill-kommandoen
I følgende skript blir Wait -kommandoen utført etter avsluttet prosess. Sleep Command kjører som en bakgrunnsprosess og Kill Command utføres for å avslutte løpsprosessen. Etter det blir Wait -kommandoen utført med prosess -ID for den avsluttet prosessen. Utgangen vil vise prosess -ID for den avsluttet prosessen.
#!/bin/bash
ekko "Testing Wait Command"
sove 20 &
PID = $!
Drep $ PID
Vent $ PID
Echo $ PID ble avsluttet.
Produksjon:
$ bash wait2.sh
Eksempel-3: Kontroller statusverdien
I det følgende skriptet, funksjonen Sjekk() kalles av to argumentverdier. Det er diskutert i starten av opplæringen at hvis Wait -kommandoen utføres med suksess, vil utgangsverdien 0, og hvis Wait -kommandoen oppdager noen feil, vil den returnere enhver verdi mellom 1 og 126. Etter å ha kjørt skriptet, hvis du passerer 0 som andre argumentverdi, avsluttes vent -kommandoen vellykket, og hvis du passerer noen verdi mer enn null, avslutter den uten hell.
#!/bin/bash
funksjonskontroll ()
ekko "sove i $ 1 sekunder"
Sov $ 1
Avslutt $ 2
Sjekk $ 1 $ 2 og
B = $!
ekko "Kontroller statusen"
Vent $ b && ekko ok || ekko ikke ok
Produksjon:
$ bash wait3.SH 3 0
$ bash wait3.SH 3 5
Håper, denne opplæringen vil bidra til å lære deg å vente kommandoen riktig. Det er en annen kommando i Linux, kalt sove å vente på viss mengde ganger, men det er noen forskjeller mellom disse kommandoene. Hvis du er interessert i å vite om søvnkommando, kan du besøke denne lenken.