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/bashsö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/bashsö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/bashfö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/bashkastade 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.