Linux-kommandoer

Bash Vent-kommando i Linux

Bash Vent-kommando i Linux
Ventetiden er en Linux-kommando, der returnerer en exitstatus efter at have ventet på en komplet kørende proces. Når flere processer kører samtidigt, kan ventekommandoen kun holde styr på den sidste. Hvis ventekommandoen ikke er knyttet til et job eller proces-id, venter den på, at alle underordnede processer er færdige, før de returnerer en exitstatus. Kommandoen bash wait bruges ofte sammen med proces-id'erne eller job-id-kommandoen.

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 / bash
sove 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 / bash
sove 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 / bash
for 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 / bash
ekko “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.

Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...
Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...
Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...