Wartość statusu wyjścia polecenia Wait zależy od polecenia wskazanego przez ostatni określony operand. Gdy jakikolwiek proces kończy się nieprawidłowo, status wyjścia będzie większy niż 128 i będzie inny od wartości statusu wyjścia innych poleceń. Czekać Polecenie wychodzi z wartością 0, gdy wywołuje bez operandów, a wszystkie identyfikatory procesów są znane z aktualnej powłoki. Jeśli polecenie oczekiwania wykryje jakikolwiek błąd, zwraca dowolną wartość od 1 do 126. Jeśli ostatni identyfikator procesu jest nieznany, poczekaj polecenie wychodzi z wartością 127. Jak możesz użyć polecenia Wait w Linux, jest pokazany w tym samouczku.
Przykład-1: Korzystanie z polecenia Wait dla wielu procesów
Po wykonaniu następującego skryptu w tle uruchomi się dwa procesy, a identyfikator procesu pierwszego polecenia echo jest przechowywany w zmiennej $ process_id. Kiedy polecenie oczekiwania zostanie wykonywane z $ process_id, następne polecenie będzie poczekać na wykonanie zadania pierwszego polecenia echo. Drugie polecenie oczekiwania jest używane z '$!„I to wskazuje identyfikator procesu ostatniego procesu uruchomionego. '$?„służy do odczytania wartości statusu polecenia Wait.
#!/bin/bash
Echo „Testowanie Wait Command1” i
proces_id = $!
Echo „Testowanie Wait Command2” i
Poczekaj $ process_id
Echo Job 1 wyszedł ze statusem $?
Poczekaj $!
Echo Job 2 wyszedł ze statusem $?
Wyjście:
$ Bash Wait1.cii
Przykład-2: Testuj polecenie oczekiwania po użyciu komendy zabójcy
W poniższym skrypcie polecenie Wait jest wykonywane po zakończeniu procesu. Polecenie Sleep działa jako proces w tle, a polecenie zabójstwa jest wykonywane w celu zakończenia procesu uruchamiania. Po tym polecenie oczekiwania jest wykonywane z identyfikatorem procesu zakończonego procesu. Wyjście pokaże identyfikator procesu zakończonego procesu.
#!/bin/bash
Echo „Testowanie polecenia oczekiwania”
spać 20 i
PID = $!
Zabij $ pid
Poczekaj $ pid
Echo $ pid został rozwiązany.
Wyjście:
$ Bash Wait2.cii
Przykład-3: Sprawdź wartość stanu wyjścia
W poniższym skrypcie funkcja sprawdzać() jest nazywany dwoma wartościami argumentów. Omówiono na początku samouczka, że jeśli polecenie oczekiwania zostanie pomyślnie wykonane, wartość wyjścia będzie 0, a jeśli polecenie czeka wykryje jakikolwiek błąd, zwróci dowolną wartość od 1 do 126. Po uruchomieniu skryptu, jeśli zdasz 0 jako wartość drugiego argumentu, polecenie Poczekaj, które zakończy się z powodzeniem, a jeśli zdasz jakąkolwiek wartość więcej niż zero, to bezskutecznie kończy się.
#!/bin/bash
Funkcja Check ()
echo „Sleep za 1 $ sekundy”
spać 1 USD
Wyjdź z 2 USD
Sprawdź 1 $ 2 $ i
B = $!
Echo „Sprawdzanie statusu”
Poczekaj $ b && echo ok || Echo nie w porządku
Wyjście:
$ Bash Wait3.SH 3 0
$ Bash Wait3.SH 3 5
Mam nadzieję, że ten samouczek pomoże prawidłowo nauczyć. W Linux jest inne polecenie spać czekać na określoną ilość razy, ale istnieją pewne różnice między tymi poleceniami. Jeśli chcesz dowiedzieć się o poleceniu snu, możesz odwiedzić ten link.