Polecenie poczekaj w Linux

Polecenie poczekaj w Linux
Czekać to wbudowane polecenie Linux, które czeka na ukończenie każdego procesu uruchomionego. Czekać Polecenie jest używane z konkretnym identyfikatorem procesu lub identyfikatorem zadania. Gdy w powłoce działa wiele procesów, to tylko identyfikator ostatniego polecenia będzie znany przez bieżącą powłokę. Jeśli tym razem zostanie wykonane polecenie oczekiwania, zostanie ono zastosowane do ostatniego polecenia. Jeśli żaden identyfikator procesu lub identyfikator zadania nie zostanie podany z poleceniem Wait, będzie czekać na zakończenie wszystkich bieżących procesów dzieci i zwróci status wyjścia.

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.