wait
- wait – wbudowane polecenie powłoki, które czeka na zakończenie procesów potomnych.
- Może również zwrócić kod zakończenia wskazanego procesu.
- Dostępne w powłokach takich jak
bash
,dash
,ksh
orazzsh
.
Składnia
Dział zatytułowany „Składnia”wait [PID...]
- Bez argumentów czeka na zakończenie wszystkich bieżących procesów potomnych.
- Podanie jednego lub wielu PID powoduje oczekiwanie tylko na te procesy.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
PID | Identyfikator procesu, na który ma czekać polecenie. |
$! | Specjalna zmienna powłoki oznaczająca PID ostatniego procesu uruchomionego w tle. |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1) Czekanie na zakończenie ostatniego procesu w tlesleep 5 &wait $!echo "Proces zakończony"
# 2) Czekanie na wiele procesów w tlesleep 3 &sleep 5 &waitecho "Wszystkie procesy zakończone"
# 3) Sprawdzenie kodu zakończenia procesusleep 2 &wait $!echo $?
wait
jest wbudowaną komendą powłoki, a nie oddzielnym programem.- Przydatne w skryptach do synchronizacji pracy wielu procesów.
- Zwraca kod zakończenia ostatniego procesu, na który czekał.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
wait: pid X is not a child of this shell | Próba oczekiwania na proces, który nie jest potomkiem bieżącej powłoki. | Upewnij się, że PID należy do procesu uruchomionego z tej samej powłoki. |
command not found | Użycie w nietypowej powłoce bez wsparcia dla wait . | Uruchom w powłoce obsługującej to polecenie (np. bash). |
Linki i źródła
Dział zatytułowany „Linki i źródła”- bash manual – wait – dokumentacja powłoki Bash.
- POSIX wait – standard POSIX.
- Advanced Bash Scripting Guide – opis wbudowanych poleceń powłoki.