Startpagina > Procesbeheer > wait

wait: Wachten op voltooiing van achtergrondtaken

Het `wait`-commando wordt gebruikt om te wachten tot een gespecificeerde achtergrondtaak (job) of proces (PID) is voltooid. Dit is bijzonder nuttig in scripts waar meerdere taken gelijktijdig worden uitgevoerd en het script moet wachten tot alle taken zijn afgerond voordat het verdergaat.

Overzicht

Het `wait`-commando pauzeert de uitvoering van de shell totdat een achtergrondtaak is voltooid. Het wordt vaak gebruikt wanneer meerdere taken parallel op de achtergrond zijn gestart met het `&`-symbool, en het script pas verder moet gaan nadat al deze taken zijn afgerond. Door `wait` te gebruiken, kan een script ook de exit-code van het achtergrondproces controleren, wat helpt bij het bepalen van het succes van de taak.

Belangrijkste kenmerken

De belangrijkste kenmerken van het `wait`-commando zijn:

  • Wacht op de voltooiing van specifieke achtergrondtaken.
  • Kan een taaknummer (job number) of proces-ID (PID) als argument accepteren.
  • Indien zonder argumenten uitgevoerd, wacht het op de voltooiing van alle achtergrondtaken.
  • Handig voor het synchroniseren van meerdere parallelle taken in shellscripts.

Belangrijkste opties

Het `wait`-commando is een eenvoudig commando dat een taaknummer of PID als argument accepteert, en heeft verder weinig opties.

1) Uitvoeringsopties

2) Hulp

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`wait` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Leer de functionaliteit van het `wait`-commando door middel van diverse gebruiksvoorbeelden.

Wachten op alle achtergrondtaken

sleep 5 &
sleep 10 &
jobs
wait
echo 'Alle taken zijn voltooid.'

Voert meerdere `sleep`-taken op de achtergrond uit en wacht vervolgens met het `wait`-commando totdat alle taken zijn voltooid.

Wachten op een specifieke taak

sleep 10 &
sleep 5 &
jobs
wait %1
echo 'Taak 1 is voltooid.'

Wacht totdat taak 1 van de twee taken is voltooid. Controleer het taaknummer met het `jobs`-commando en gebruik `wait %1`.

Wachten op basis van proces-ID (PID)

sleep 10 &
PID=$!
echo "Taak met PID $PID is gestart."
wait $PID
echo "Taak met PID $PID is voltooid."

Slaat in een script de PID van een achtergrondproces op in een variabele met behulp van `$!`, en wacht vervolgens totdat die PID is voltooid.

Installatie

wait is een ingebouwd commando van de shell (zoals bash, zsh) en vereist geen aparte installatie.

Tips & Aandachtspunten

Hier zijn enkele belangrijke overwegingen bij het gebruik van het `wait`-commando.

Tips

  • `wait` pauzeert de uitvoering van de shell totdat een achtergrondproces is voltooid. Als het proces niet eindigt, blijft de shell wachten.
  • De exit-statuscode van het `wait`-commando is gelijk aan de exit-statuscode van het proces waarop gewacht werd. Dit kan worden gebruikt om het succes van de taak in een script te controleren.
  • Om een taaknummer (`%1`) te gebruiken, moet u eerst de achtergrondtaken van de huidige shell controleren met het `jobs`-commando. `$!` is een speciale variabele die de PID van het meest recent op de achtergrond gestarte proces bevat.

Hétzelfde categoriecommando