Linux-kommandoer

Vent kommando i Linux

Vent kommando i Linux
vente er en indbygget kommando af Linux, der venter på at fuldføre enhver kørende proces. vente kommando bruges med et bestemt proces-id eller job-id. Når flere processer kører i skallen, er kun proces-id'et for den sidste kommando kendt af den aktuelle skal. Hvis ventekommandoen udføres denne gang, anvendes den til den sidste kommando. Hvis der ikke gives proces-id eller job-id med ventekommandoen, venter det på, at alle aktuelle underordnede processer er færdige, og returnerer exit-status.

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 / bash
ekko "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 / bash
ekko "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 / bash
funktionskontrol ()

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.

Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...