I denna handledning kommer vi att utforska Bash Wait Command i Linux.
Syntax:
Den allmänna syntaxen för Wait-kommandot i Linux är:
vänta [alternativ] ID
ID skulle vara ett process-ID eller jobb-ID.
Förklara Bash Wait Command i Linux:
Skapa först en fil med hjälp av kommandot touch:
$ touch BashWait.sh
Gör den här filen körbar med kommandot nedan:
$ chmod + x filnamn
När de körbara behörigheterna har beviljats filen öppnar du filen och skriver ett skript i bash-filen:
#!/ bin / bashsova 3 &
processID = $!
eko "PID: $ processID"
vänta $ processID
eko "Utgångsstatus: $?"
$! är en variabel i BASH som lagrar PID för den senaste processen.
Kör nu skriptet enligt följande:
$ ./filnamn$ ./ BashWait.sh
Process-ID och existens-status visas i skalet.
Använda -n alternativ:
Med alternativet -n väntar kommandot vänta bara på att ett enskilt jobb från det angivna process-ID eller jobbspecifikationer ska avslutas innan det återgår till utgångsstatus. Vänta -n väntar på att ett bakgrundsjobb ska slutföras och returnerar statusen för avslutad jobb om inga argument tillhandahålls.
Skriv nedanstående rader i ditt skript:
#!/ bin / bashsova 30 &
sova 8 &
sova 7 &
vänta -n
echo "Första jobbet har slutförts."
vänta
echo "Alla jobb har slutförts."
Kör sedan skriptet igen och när det första jobbet är klart kommer det att skriva ut meddelandet på terminalen och vänta på att alla andra jobb ska slutföras.
Använda -f-alternativet:
Alternativet -f väntar på att varje process-ID eller jobb ska stoppa innan du returnerar utgångskoden. Jobbkontroll är endast tillgänglig för responsiva uppmaningar som standard.
Öppna terminalen och kör kommandot:
Vänta på process 3944.
Öppna ett annat terminalfönster och kör kill-kommandot för att avsluta processen.
Status ändras. Kommandot Vänta kommer att slutföra och returnera processutgångskoden.
Upprepa ovanstående steg med kommandot -f.
Skript med vänta-kommando:
Vi använder 'hej.sh 'och' bash.sh 'manus för demonstration. Hej.sh 'skript skriver ut siffror från 1 till 5 och' bash.sh 'manus ringer hej.sh och kör den i bakgrunden, med PID av hej.sh och väntar på att det ska ta slut.
Skapa två skript med namnet hej och bash:
Lägg till nedanstående rader i hej.sh-fil:
#!/ bin / bashför i i 1 2 3 4 5 6 7 8 9 10
do
eko “hej.sh - Loop-nummer $ i.”
Gjort
Lägg till nedan angivna rader i bash-skriptet:
#!/ bin / bashecho “Started bash.sh ”
eko ”Började hej.sh ”
./Hej.sh &
process_id = $!
vänta $ process_id
eko “Slutförd hej.sh
Produktion:
Slutsats:
När en användare vill stoppa en process släpper systemet alla resurser som hålls av processen och väntar på att en annan ska starta. Vi måste meddela processen att den kan starta om körningen när de andra processerna är färdiga. Vänta-kommandot i bash väntar på att slutföra körningen och returnerar avslutningsstatus när processkörningen är klar. I den här handboken har vi sett några exempel på kommandot Bash wait i Linux.