Linux-opdrachten

Bash Wait-commando in Linux

Bash Wait-commando in Linux
Het wachten is een Linux-commando dat een exit-status retourneert na wachten op een volledig lopend proces. Als er meerdere processen tegelijk worden uitgevoerd, kan de opdracht wait alleen de laatste bijhouden last. Als de opdracht wait niet is gekoppeld aan een taak- of proces-ID, wordt gewacht tot alle onderliggende processen zijn voltooid voordat een afsluitstatus wordt geretourneerd. De opdracht bash wait wordt vaak gebruikt met de opdracht proces-ID's of taak-ID's.

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/bash
slaap 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/bash
slaap 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/bash
voor 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/bash
echo “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.

HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...
Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...