Bash Wait -kommando i Linux

Bash Wait Command Linux



Ventetiden er en Linux -kommando som returnerer en utgangsstatus etter å ha ventet på en fullstendig kjørende prosess. Når flere prosesser kjøres samtidig, kan ventekommandoen bare holde styr på den siste. Hvis ventekommandoen ikke er knyttet til en jobb- eller prosess -ID, venter den på at alle underordnede prosesser er fullført før en utgangsstatus returneres. Bash wait -kommandoen brukes ofte med prosess -ID -er eller jobb -ID -kommandoen.

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







Syntaks:

Den generelle syntaksen til kommandoen Vent i Linux er:



vent [alternativ] ID

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



Forklare Bash Wait Command i Linux:

Opprett først en fil ved hjelp av berøringskommandoen:





$ta påBashWait.sh

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



$chmod+x filnavn

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

#!/bin/bash

søvn 3 &

prosess -ID=$!

kastet ut 'PID:$ prosess -ID'

vente $ prosess -ID

kastet ut 'Avslutt status: $?'

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

Kjør nå skriptet som følger:

$./filnavn

$./BashWait.sh

Prosess -ID og eksisterende status vises i skallet.

Bruker –n alternativ:

Med alternativet –n, venter kommandoen bare på at en enkelt jobb fra den oppgitte prosess -IDen eller jobbspesifikasjonene er fullført før den returnerer utgangsstatusen. Vent -n venter på at bakgrunnsjobben skal fullføres og returnerer statusen for jobbavslutning hvis det ikke kommer noen argumenter.

Skriv linjene nedenfor i skriptet ditt:

#!/bin/bash

søvn 30 &

søvn 8 &

søvn 7 &

vente -n

kastet ut 'Den første jobben er fullført.'

vente

kastet ut '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 være fullført.

Bruke alternativet –f:

Alternativet -f venter på at hver prosess -ID eller jobb stopper før utgangskoden returneres. Jobbkontroll er bare tilgjengelig for responsive meldinger som standard.

Åpne terminalen og kjør kommandoen:

Vent på prosess 3944.

Åpne et annet terminalvindu og utfør kill -kommandoen for å avslutte prosessen.

Statusen vil bli endret. Kommandoen Vent vil fullføre og returnere prosessutgangskoden.

Gjenta trinnene ovenfor med kommandoen –f.

Skript med ventekommando:

Vi bruker skriptene 'hello.sh' og 'bash.sh' for demonstrasjon. 'Hello.sh' -skriptet skriver ut tall fra 1 til 5, og 'bash.sh' -skriptet kaller hello.sh og kjører det i bakgrunnen, har PID for hello.sh og venter på at det skal ta slutt.

Lag to skript med navnet hallo og bash:

Legg til linjene nedenfor i hello.sh-filen:

#!/bin/bash

tilJegi 1 2 3 4 5 6 7 8 9 10

gjøre

kastet uthello.sh - Sløyfenummer$ i.

gjort

Legg til linjene nedenfor i bash-skriptet:

#!/bin/bash

kastet utStartet bash.sh

kastet utStartet hallo.sh

./hei.sh&

prosess_id=$!

vente $ prosess_id

kastet utFullført hallo.sh

Produksjon:

Konklusjon:

Når en bruker ønsker å stoppe en prosess, frigjør systemet alle ressurser som beholdes 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 prosessen er fullført. I denne håndboken har vi sett noen eksempler på Bash -ventekommandoen i Linux.