Bash Wait -kommando i Linux

Bash Wait Command Linux



Väntan är ett Linux -kommando som returnerar en utgångsstatus efter att ha väntat på en fullständig körprocess. När flera processer körs samtidigt kan väntekommandot bara hålla reda på den sista. Om väntekommandot inte är associerat med ett jobb- eller process -ID väntar det på att alla underordnade processer ska slutföras innan en utgångsstatus returneras. Kommandot bash wait används ofta med kommandot process -ID eller jobb -ID.

I denna handledning kommer vi att utforska Bash Wait Command i Linux.







Syntax:

Den allmänna syntaxen för kommandot Vänta i Linux är:



vänta [alternativ] ID

ID skulle vara ett process -ID eller jobb -ID.



Förklarar Bash Wait Command i Linux:

Skapa först en fil med pekskommandot:





$RörBashWait.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/bash

sömn 3 &

processID=$!

kastade ut 'PID:$ processID'

vänta $ processID

kastade ut 'Avslutningsstatus: $?'

$! ä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 befintlig status visas i skalet.

Med alternativet –n:

Med alternativet –n väntar kommandot vänta bara på att ett enda jobb från det angivna process -ID: t eller jobbspecifikationerna ska slutföras innan det återgår utgångsstatus. Vänta -n väntar på att ett bakgrundsjobb ska slutföras och returnerar jobbavslutningsstatus om inga argument tillhandahålls.

Skriv nedanstående rader i ditt manus:

#!/bin/bash

sömn 30 &

sömn 8 &

sömn 7 &

vänta -n

kastade ut 'Första jobbet har slutförts.'

vänta

kastade ut '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.

Med alternativet –f:

Alternativet -f väntar på att varje process -id eller jobb stoppas innan utgångskoden returneras. 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 kommandot kill för att avsluta processen.

Statusen kommer att ändras. Kommandot Vänta kommer att slutföra och returnera processutgångskoden.

Upprepa ovanstående steg med kommandot –f.

Skript med vänt -kommando:

Vi använder skripten 'hello.sh' och 'bash.sh' för demonstration. Skriptet 'hello.sh' skriver ut siffror från 1 till 5 och 'bash.sh' -skriptet kallar hello.sh och kör det i bakgrunden, med PID för hello.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 hello.sh-filen:

#!/bin/bash

förii 1 2 3 4 5 6 7 8 9 10

do

kastade uthello.sh - Loopnummer$ i.

Gjort

Lägg till nedanstående rader i bash-skriptet:

#!/bin/bash

kastade utBörjade bash.sh

kastade utBörjade hej.sh

./hej. sh&

process_id=$!

vänta $ process_id

kastade utSlutfört hej. Sh

Produktion:

Slutsats:

När en användare vill stoppa en process, släpper systemet alla resurser som behå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 slutförda. Väntekommandot i bash väntar på att slutföra körningen och returnerar utgångsstatus när processkörningen är klar. I den här handboken har vi sett några exempel på kommandot Bash wait i Linux.