I denne vejledning vil vi udforske Bash Wait -kommandoen i Linux.
Syntaks:
Den generelle syntaks for kommandoen Vent i Linux er:
vent [option] ID
ID ville være et proces -id eller job -id.
Forklarer Bash Wait Command i Linux:
Opret først en fil ved hjælp af kommandoen touch:
$røre vedBashWait.sh
Gør denne fil eksekverbar ved at bruge nedenstående kommando:
$chmod+x filnavn
Når de eksekverbare rettigheder er tildelt filen, skal du åbne filen og skrive et script i bash -filen:
#!/bin/bashsøvn 3 &
proces -ID=$!
smed ud 'PID:$ processID'
vente $ processID
smed ud 'Afslutningsstatus: $?'
$! er en variabel i BASH, der gemmer PID for den seneste proces.
Kør nu scriptet som følger:
$./filnavn$./BashWait.sh
Proces -id og eksisterende status vises i skallen.
Brug af –n mulighed:
Med indstillingen –n venter kommandoen vent kun på, at et enkelt job fra det angivne proces -id eller jobspecifikationerne er færdige, før det returnerer dets exit -status. Vent -n venter på, at et baggrundsjob er færdigt, og returnerer status for jobafslutning, hvis der ikke er argumenter.
Skriv nedenstående linjer i dit script:
#!/bin/bashsøvn 30 &
søvn 8 &
søvn 7 &
vente -n
smed ud 'Første job er afsluttet.'
vente
smed ud 'Alle job er afsluttet.'
Kør derefter scriptet igen, og når det første job er udført, udskriver det meddelelsen på terminalen og venter på, at alle andre job er udført.
Brug af –f option:
Indstillingen -f venter på, at hvert proces -id eller job stopper, før udgangskoden returneres. Jobkontrol er som standard kun tilgængelig for responsive beskeder.
Åbn terminal og kør kommando:
Vent til proces 3944.
Åbn et andet terminalvindue, og udfør kommandoen kill for at afslutte processen.
Status ændres. Kommandoen Vent vil fuldføre og returnere procesafslutningskoden.
Gentag ovenstående trin med kommandoen –f.
Script med ventekommando:
Vi bruger 'hello.sh' og 'bash.sh' scripts til demonstration. 'Hello.sh' -scriptet udskriver tal fra 1 til 5, og' bash.sh 'scriptet kalder hello.sh og kører det i baggrunden, har PID'en hello.sh og venter på, at det slutter.
Opret to scripts med navnet hej og bash:
Tilføj nedenstående linjer i hello.sh-filen:
#!/bin/bashtiljegi 1 2 3 4 5 6 7 8 9 10
gøre
smed udhello.sh - Loop nummer$ i.
Færdig
Tilføj de nedenstående linjer i bash-scriptet:
#!/bin/bashsmed udStartede bash.sh
smed udStartede hej.sh
./hej.sh&
proces_id=$!
vente $ proces_id
smed udGennemført hello.sh
Produktion:
Konklusion:
Når en bruger ønsker at stoppe en proces, frigiver systemet alle ressourcer, som processen opbevarer, og venter på, at en anden starter. Vi bliver nødt til at meddele processen, at den kan genstarte udførelsen, når de andre processer er afsluttet. Ventekommandoen i bash venter på at fuldføre udførelsen og returnerer udgangsstatus, når procesudførelsen er fuldført. I denne manual har vi set nogle eksempler på Bash -ventekommandoen i Linux.