In deze tutorial zullen we het Bash Wait-commando in Linux verkennen explore.
Syntaxis:
De algemene syntaxis van de opdracht Wait in Linux is:
wacht [optie] ID
ID zou een proces-ID of taak-ID zijn.
Bash Wait-commando in Linux uitleggen:
Maak eerst een bestand met de aanraakopdracht:
$ raak BashWacht aan.sh
Maak dit bestand uitvoerbaar met behulp van de onderstaande opdracht:
$ chmod +x bestandsnaam
Zodra de uitvoerbare privileges aan het bestand zijn verleend, opent u het bestand en schrijft u een script in bash-bestand:
#!/bin/bashslaap 3 &
processID=$!
echo "PID: $procesID"
wacht $procesID
echo "Verlaat status: $?"
$! is een variabele in BASH die de PID van het meest recente proces opslaat.
Voer het script nu als volgt uit:
$ ./bestandsnaam$ ./BashWacht.sh
Process ID en Exist status verschijnen in de shell.
Optie -n gebruiken:
Met de optie -n wacht de opdracht wait slechts tot een enkele taak van de opgegeven proces-ID of taakspecificaties is voltooid voordat de afsluitstatus wordt geretourneerd. Wait -n wacht tot een achtergrondtaak is voltooid en retourneert de status van het verlaten van de taak als er geen argumenten zijn opgegeven.
Schrijf de onderstaande regels in je script:
#!/bin/bashslaap 30 &
slaap 8 &
slaap 7 &
wacht -n
echo "Eerste taak is voltooid."
wacht
echo "Alle taken zijn voltooid."
Voer vervolgens het script opnieuw uit en wanneer de eerste taak is voltooid, wordt het bericht op de terminal afgedrukt en wordt gewacht tot alle andere taken zijn voltooid.
Optie -f gebruiken:
De optie -f wacht tot elke proces-id of taak stopt voordat de afsluitcode wordt geretourneerd. Taakbeheer is standaard alleen beschikbaar voor responsieve prompts.
Terminal openen en opdracht uitvoeren:
Wacht op proces 3944.
Open een ander terminalvenster en voer het kill-commando uit om het proces te beëindigen.
De status wordt gewijzigd. De opdracht Wacht wordt voltooid en retourneert de afsluitcode voor het proces.
Herhaal de hierboven gegeven stappen met het -f commando.
Script met opdracht Wacht:
We gebruiken 'hallo'.sh' en 'bash.sh' scripts voor demonstratie. De 'hallo'.sh'-script drukt getallen van 1 tot 5 af, en 'bash.sh' script roept hallo.sh en voert het op de achtergrond uit, met de PID van hallo.sh en wachten tot het voorbij is.
Maak twee scripts met de naam hallo en bash:
Voeg de onderstaande regels toe in de hallo.sh-bestand:
#!/bin/bashvoor ik in 1 2 3 4 5 6 7 8 9 10
Doen
echo "hallo".sh - Lus nummer $i.”
gedaan
Voeg de onderstaande regels toe aan het bash-script:
#!/bin/bashecho “Begon bash.sch"
echo “Begon hallo.sch"
./Hallo.sh &
process_id=$!
wacht $process_id
echo “Hallo voltooid.sh
Uitgang:
Conclusie:
Wanneer een gebruiker een proces wil stoppen, geeft het systeem alle bronnen vrij die door het proces worden bewaard en wacht tot een ander proces start. We moeten het proces laten weten dat het de uitvoering kan herstarten zodra de andere processen zijn voltooid. Het wait-commando in bash wacht om de uitvoering te voltooien en retourneert de exit-status wanneer de procesuitvoering is voltooid. In deze handleiding hebben we enkele voorbeelden gezien van het Bash wait commando in Linux.