Bash Wait Command i Linux

Bash Wait Command i Linux
Ventetiden er en Linux -kommando som returnerer en utgangsstatus etter å ha ventet på en komplett løpeprosess. Når flere prosesser kjører samtidig, kan ventekommandoen bare følge med på den siste. Hvis vent -kommandoen ikke er tilknyttet en jobb- eller prosess -ID, vil den vente på at alle barneprosesser skal fullføres før du returnerer en utgangsstatus. Bash Wait -kommandoen brukes ofte med prosess -ID -er eller stillings -IDS -kommando.

I denne opplæringen vil vi utforske Bash Wait -kommandoen i Linux.

Syntaks:

Den generelle syntaksen til ventekommandoen i Linux er:

vent [alternativ] ID

Id ville være en prosess -ID eller jobb -ID.

Forklar Bash Wait Command i Linux:

Først må du opprette en fil ved å bruke Touch -kommandoen:

$ Touch Bashwait.sh

Gjør denne filen kjørbar ved å bruke kommandoen nedenfor:

$ chmod +x filnavn

Når de kjørbare privilegiene er gitt til filen, åpner du filen og skriver et skript i bash -fil:

#!/bin/bash
Sov 3 &
prosessID = $!
ekko "PID: $ ProcessID"
Vent $ prosessID
ekko "Avslutt status: $?""

$! er en variabel i bash som lagrer PID i den siste prosessen.

Kjør nå skriptet som følger:

$ ./filnavn
$ ./Bashwait.sh

Prosess -ID og eksisterer status vil vises i skallet.

Bruker alternativ:

Med alternativet -n, venter bare vent -kommandoen på en enkelt jobb fra den oppgitte prosess -ID eller jobbspesifikasjoner for å fullføre før du returnerer utgangsstatus. Vent -n venter på at enhver bakgrunnsjobb skal fullføre og returnerer stillingsutgangsstatusen hvis ingen argumenter er gitt.

Skriv de undergitte linjene i skriptet ditt:

#!/bin/bash
sove 30 &
Sov 8 &
Sov 7 &
Vent -n
ekko "første jobb er fullført.""
vente
ekko "Alle jobber er fullført.""

Kjør deretter skriptet igjen, og når den første jobben er fullført, vil den skrive ut meldingen på terminalen og vente på at alle andre jobber skal fullføres.

Bruker -f -alternativet:

Alternativet -F venter på at hver prosess -ID eller jobb skal stoppe før du returnerer utgangskoden. Jobbkontroll er bare tilgjengelig for responsive spørsmål som standard.

Åpne terminal- og løpskommando:

Vent på prosess 3944.

Åpne et annet terminalvindu og utføre Kill -kommandoen for å avslutte prosessen.

Status vil bli endret. Ventekommandoen vil fullføre og returnere prosessutgangskoden.

Gjenta ovennevnte trinn med -f -kommandoen.

Skript med ventekommando:

Vi bruker 'Hei.sh 'og' bash.sh 'skript for demonstrasjon. 'Hei.sh 'manus skriver ut tall fra 1 til 5, og' bash.sh 'manus ringer hei.SH og kjører den i bakgrunnen, har pid av hei.SH og venter på at den skal ta slutt.

Lag to skript med navnet Hello and Bash:

Legg til de undergitte linjene i hei.SH -fil:

#!/bin/bash
for i i 1 2 3 4 5 6 7 8 9 10
gjøre
ekko “Hei.sh - loop nummer $ i.”
Ferdig

Legg til de undergitte linjene i bashskriptet:

#!/bin/bash
ekko “startet bash.sh ”
ekko “Startet hei.sh ”
./Hallo.sh &
prosess_id = $!
Vent $ prosess_id
ekko “Fullført hei.sh

Produksjon:

Konklusjon:

Når en bruker ønsker å stoppe en prosess, frigjør systemet alle ressurser som holdes av prosessen og venter på at en annen skal starte. Vi må varsle prosessen om at den kan starte utførelsen på nytt når de andre prosessene er fullført. Ventekommandoen i bash venter på å fullføre utførelsen og returnerer utgangsstatusen når prosessutførelsen er fullført. I denne håndboken har vi sett noen eksempler på Bash Wait -kommandoen i Linux.