Linux-kommandon

Vänta kommandot i Linux

Vänta kommandot i Linux
vänta är ett inbyggt kommando för Linux som väntar på att slutföra alla pågående processer. vänta kommandot används med ett visst process-id eller jobb-id. När flera processer körs i skalet är endast process-id för det sista kommandot känt av det aktuella skalet. Om vänta-kommandot körs den här gången kommer det att tillämpas på det sista kommandot. Om inget process-ID eller jobb-ID ges med vänta-kommandot väntar det på att alla nuvarande underordnade processer ska slutföras och returnerar avslutningsstatus.

Utgångsstatusvärdet för väntekommandot beror på kommandot som anges av den senast angivna operand. När någon process avslutas onormalt kommer utgångsstatusen att vara större än 128 och ska skilja sig från utgångsstatusvärdena för andra kommandon. vänta kommandot avslutas med värdet 0 när det ringer utan operander och alla process-ID är kända av det aktuella skalet har avslutats. Om vänta-kommandot upptäcker något fel returnerar det något värde från 1 till 126. Om den sista process-id är okänd avslutas vänta-kommandot med värdet 127. Hur du kan använda vänta-kommandot i Linux visas i denna handledning.

Exempel 1: Använda vänta-kommandot för flera processer

Efter körning av följande skript körs två processer i bakgrunden och process-id för det första ekokommandot lagras i variabeln $ process_id. När vänta-kommandot körs med $ process_id väntar nästa kommando på att slutföra uppgiften för det första ekokommandot. Det andra väntekommandot används med '$!'och detta indikerar process-id för den senaste körningen. ''$?'används för att läsa statusvärdet för väntkommandot.

#!/ bin / bash
eko "testa vänta kommando1" &
process_id = $!
eko "testa vänta kommando2" &
vänta $ process_id
echo Job 1 avslutades med status $?
vänta $!
echo Job 2 avslutades med status $?

Produktion:

$ bash vänta 1.sh

Exempel 2: Testa kommandot testa efter att ha använt kill-kommandot

I följande skript körs kommandot wait efter avslutad process. sleep-kommandot körs som en bakgrundsprocess och kill-kommandot körs för att avsluta körningen. Efter det väntar kommandot körs med process-id för den avslutade processen. Utgången visar process-id för den avslutade processen.

#!/ bin / bash
eko "Testa vänta kommando"
sova 20 &
pid = $!
döda $ pid
vänta $ pid
echo $ pid avslutades.

Produktion:

$ bash wait2.sh

Exempel 3: Kontrollera utgångsstatusvärdet

I följande skript, funktionen kolla upp() kallas av två argumentvärden. Det diskuteras i början av självstudien att om wait-kommandot utförs framgångsrikt kommer exitvärdet att 0 och om wait-kommandot upptäcker något fel kommer det att returnera något värde mellan 1 och 126. Efter att ha kört skriptet, om du skickar 0 som andra argumentvärde avslutas vänta kommandot framgångsrikt och om du skickar något värde mer än noll så avslutas det utan framgång.

#!/ bin / bash
funktionskontroll ()

eko "Sov i $ 1 sekunder"
sova $ 1
avsluta $ 2

kolla $ 1 $ 2 &
b = $!
eko "Kontroll av status"
vänta $ b && echo OK || echo INTE OK

Produktion:

$ bash wait3.sh 3 0
$ bash wait3.sh 3 5

Hoppas, den här handledningen hjälper dig att lära dig kommandot använd vänta ordentligt. Det finns ett annat kommando i Linux, som heter sova att vänta på en viss mängd gånger men det finns vissa skillnader mellan dessa kommandon. Om du är intresserad av att veta om sömnkommando kan du besöka den här länken.

Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...