I denne vejledning vil vi udforske Bash Wait Command i Linux.
Syntaks:
Den generelle syntaks for Wait-kommandoen i Linux er:
vent [option] ID
ID ville være et proces-ID eller job-ID.
Forklaring af Bash Wait Command i Linux:
Opret først en fil ved hjælp af berøringskommandoen:
$ tryk på BashWait.sh
Gør denne fil eksekverbar ved hjælp af nedenstående kommando:
$ chmod + x filnavn
Når de eksekverbare privilegier er tildelt filen, skal du åbne filen og skrive et script i bash-fil:
#!/ bin / bashsove 3 &
processID = $!
ekko "PID: $ processID"
vent $ processID
ekko "Afslut status: $?"
$! 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 eksistens-status vises i skallen.
Brug af -n mulighed:
Med indstillingen -n venter ventekommandoen kun på, at et enkelt job fra det angivne proces-id eller jobspecifikationer er afsluttet, før det returnerer sin exitstatus. Vent -n venter på, at ethvert baggrundsjob er afsluttet, og returnerer jobafslutningsstatus, hvis der ikke er nogen argumenter.
Skriv nedenstående linjer i dit script:
#!/ bin / bashsove 30 &
sove 8 &
sove 7 &
vent -n
ekko "Første job er afsluttet."
vente
ekko "Alle job er afsluttet."
Kør derefter scriptet igen, og når det første job er afsluttet, udskriver det meddelelsen på terminalen og venter på, at alle andre job er afsluttet.
Brug af -f option:
Indstillingen -f venter på, at hvert proces-id eller job skal stoppe, før returnering af exit-koden. Jobkontrol er kun tilgængelig for responsive prompter som standard.
Åbn terminal og kør kommando:
Vent på proces 3944.
Åbn et andet terminalvindue, og udfør kill-kommandoen for at afslutte processen.
Status ændres. Vent-kommandoen fuldfører og returnerer procesudgangskoden.
Gentag ovenstående trin med kommandoen -f.
Script med Vent-kommando:
Vi bruger 'hej.sh 'og' bash.sh 'scripts til demonstration. Hej.sh 'script udskriver tal fra 1 til 5, og' bash.sh 'script kalder hej.sh og kører det i baggrunden med PID af hej.sh og venter på, at det slutter.
Opret to scripts med navnet hej og bash:
Tilføj nedenstående linjer i hej.sh-fil:
#!/ bin / bashfor i i 1 2 3 4 5 6 7 8 9 10
gør
ekko “hej.sh - Loop nummer $ i.”
Færdig
Tilføj nedenstående linjer i bash-scriptet:
#!/ bin / bashekko “Started bash.sh ”
ekko “Startede hej.sh ”
./Hej.sh &
process_id = $!
vent $ process_id
ekko “Afsluttet hej.sh
Produktion:
Konklusion:
Når en bruger ønsker at stoppe en proces, frigiver systemet alle ressourcer, der holdes i processen, og venter på, at en anden starter. Vi bliver nødt til at underrette processen om, 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 exitstatus, når procesudførelsen er afsluttet. I denne manual har vi set nogle eksempler på Bash wait-kommandoen i Linux.