Bash Wait -kommando i Linux

Bash Wait Command Linux



Ventetiden er en Linux -kommando, der returnerer en exit -status 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 fuldført, før en exit -status returneres. Kommandoen bash wait bruges ofte sammen med proces -id'erne eller kommandoen Job -id'er.

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/bash

sø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/bash

sø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/bash

tiljegi 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/bash

smed 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.