Polecenie Bash Wait w Linux

Polecenie Bash Wait w Linux
Oczekiwanie to polecenie Linux, które zwraca status wyjścia po oczekiwaniu na pełny proces uruchamiania. Kiedy kilka procesów działa jednocześnie, polecenie oczekiwania może śledzić tylko ostatnią. Jeśli polecenie oczekiwania nie jest powiązane z identyfikatorem zadania lub procesu, będzie czekać na zakończenie wszystkich procesów dziecka przed zwrotem statusu wyjścia. Polecenie Bash Wait jest często używane z poleceniem procesów lub identyfikatorów zadań.

W tym samouczku zbadamy polecenie Bash Wait w Linux.

Składnia:

Ogólna składnia polecenia Wait w Linux to:

Poczekaj [opcja] identyfikator

ID byłby identyfikatorem procesu lub identyfikatorem zadania.

Wyjaśnienie polecenia Bash Wait w Linux:

Najpierw utwórz plik za pomocą polecenia dotykowego:

$ Touch Bashwait.cii

Udaj ten plik wykonywalny za pomocą poniższego polecenia:

$ chmod +x nazwa pliku

Po przyznaniu pliku uprawnień wykonywalnych otwórz plik i zapisz skrypt w pliku Bash:

#!/bin/bash
Sleep 3 &
ProcessId = $!
echo „PID: $ processID”
Poczekaj $ processId
Echo „Status wyjścia: $?"

$! jest zmienną w BASH, która przechowuje PID ostatniego procesu.

Teraz uruchom skrypt w następujący sposób:

$ ./Nazwa pliku
$ ./Bashwait.cii

Identyfikator procesu i istnienie statusu pojawią się w powłoce.

Korzystanie z opcji -n:

Dzięki opcji -n polecenie Wait czeka tylko na jedno zadanie z dostarczonego identyfikatora procesu lub specyfikacji zadania, zanim zwróci status wyjścia. Poczekaj -nie czeka na zakończenie jakiegokolwiek zadania w tle i zwróci status wyjścia z pracy, jeśli nie podano argumentów.

Wpisz poniższe wiersze w swoim skrypcie:

#!/bin/bash
spać 30 i
Sleep 8 &
Sleep 7 &
Poczekaj -n
Echo „Pierwsze zadanie zostało zakończone."
Czekać
echo „Wszystkie zadania zostały zakończone."

Następnie uruchom skrypt ponownie, a po zakończeniu pierwszego zadania, wydrukuje wiadomość na terminalu i poczekać na zakończenie wszystkich innych zadań.

Korzystanie z opcji -f:

Opcja -f czeka na zatrzymanie każdego identyfikatora procesu lub zadania przed zwrotem kodu wyjścia. Kontrola zadań jest domyślnie dostępna tylko dla responsywnych monitów.

Otwórz polecenie terminala i uruchom:

Poczekaj na proces 3944.

Otwórz inne okno terminalu i wykonaj polecenie zabójstwa, aby zakończyć proces.

Status zostanie zmieniony. Polecenie oczekiwania zakończy i zwróci kod wyjścia procesu.

Powtórz powyższe kroki za pomocą polecenia -f.

Skrypt z poleceniem Wait:

Używamy „Hello.sh 'i „bash.Skrypty sh 'do demonstracji. „Witam”.Skrypt SH 'drukuje liczby od 1 do 5 i „bash.Skrypt SH 'Hello.sh i uruchamia go w tle, mając PID witania.sh i czekam, aż się to zakończy.

Utwórz dwa skrypty z nazwą Hello i Bash:

Dodaj poniższe linie w Hello.Plik SH:

#!/bin/bash
dla i w 1 2 3 4 5 6 7 8 9 10
Do
Echo „Witaj.SH - numer pętli $ i."
zrobione

Dodaj poniższe wiersze w skrypcie Bash:

#!/bin/bash
echo „zaczął bash.cii"
Echo „Zaczął cześć.cii"
./Witam.cii &
proces_id = $!
Poczekaj $ process_id
Echo „Ukończyło cześć.cii

Wyjście:

Wniosek:

Kiedy użytkownik chce zatrzymać proces, system uwalnia wszystkie zasoby przechowywane przez proces i czeka na rozpoczęcie kolejnego. Musimy powiadomić proces, że może on ponownie uruchomić wykonywanie po zakończeniu innych procesów. Polecenie oczekiwania w Bash czeka na zakończenie wykonania i zwraca status wyjścia po zakończeniu procesu wykonania. W tym podręczniku widzieliśmy kilka przykładów polecenia Bash Wait w Linux.