Polecenia Linuksa

Jak czekać na zakończenie określonego procesu w systemie Linux?

Jak czekać na zakończenie określonego procesu w systemie Linux?
Jeśli pracujesz w skrypcie powłoki systemu Linux i chcesz uzyskać pożądany wynik skryptu, obowiązkowe staje się użycie polecenia wait w skrypcie. Polecenie wait jest zaimplementowane jako wbudowane polecenie w większości dystrybucji Linuksa, które umożliwia oczekiwanie na zakończenie określonego procesu, a następnie zwraca jego status wykonania. Aby działał, musisz użyć go z identyfikatorem rodzica lub identyfikatorem dziecka. W dzisiejszym artykule omówimy sposoby oczekiwania na konkretny proces w Linuksie.

Uwaga: będziemy używać Ubuntu 20.04 za wykonanie określonego procesu i jego polecenia oczekiwania.

Jak działa polecenie oczekiwania:

Polecenie będzie monitorować ostatni proces. W skrypcie powłoki pierwszy numer identyfikacyjny jest nadawany ostatniej instrukcji skryptu i jest przetwarzany z priorytetem. Możesz użyć polecenia wait, aby poczekać na ostatnią instrukcję i najpierw przetworzyć drugą instrukcję.

Krok #1: Utwórz plik w edytorze tekstu, aby napisać skrypt:

Przed wykonaniem polecenia wait najpierw musisz utworzyć plik skryptu w edytorze tekstu za pomocą następującego dołączonego polecenia.

$ gedit

Narzędzie „gedit” bezpośrednio otworzy edytor tekstu, aby napisać skrypt do wykonania. Otwarcie zajmie trochę czasu, po czym będziesz mógł go natychmiast użyć. Edytor skryptów będzie wyglądał jak na poniższym obrazku:

Krok #2: Napisz skrypt z poleceniem oczekiwania w edytorze tekstu:

Aby użyć polecenia wait, najpierw musisz napisać skrypt, aby zastosować w nim polecenie command. Aby napisać skrypt w profilu bash, zawsze zaczynaj go od #@/bin/bash, jak pokazano poniżej:

Na poniższym obrazku znajduje się skrypt, w którym są dwa zadania, jedno jest przypisane do rodzica, a drugie jest przypisane do dziecka. W linii 3 znajduje się polecenie wait, które pozwoli dziecku poczekać, aż rodzic zakończy swój proces.

Zapisz powyższy skrypt obrazu pod dowolną nazwą, używając formatu .ci (.Sh) jak pokazano w podanym przykładzie.

Krok # 3: Wykonaj proces, aby sprawdzić wynik skryptu:

Aby wykonać skrypt, musisz wrócić do terminala serwera Linux. Aby wykonać, musisz wpisać polecenie „bash” i nazwę utworzonego pliku zapisanego w systemie Linux. Oto polecenie dołączone poniżej:

$ bash najpierw. cii

Jak tylko wykonanie tego polecenia zostanie zakończone, otrzymasz następujące dane wyjściowe wyświetlane na poniższym zrzucie.

Jak pokazano powyżej, klasa rodzica wykonuje się jako pierwsza, a w tym czasie klasa potomna znajduje się w fazie zatrzymania jej wykonania. Zajęcia dla dzieci realizowane są zaraz po odbyciu zajęć z rodzicami. W tym kodzie dziecko zostało usunięte. „Dziecko czeka na polecenie 1” pojawi się, gdy rodzic czeka na polecenie 2; dzieje się tak tylko z powodu polecenia wait przekazanego klasie potomnej.

Inny przykład polecenia oczekiwania:

Wiedząc więcej o tym, jak działa to polecenie, możesz mieć inny przykład z innym wykonaniem skryptu. Powtórz ten sam proces, aby napisać skrypt, jak wspomniano powyżej, używając polecenia „gedit”, aby otworzyć edytor tekstu, a po napisaniu skryptu zapisz plik pod dowolną wymienioną nazwą .j-e nowy.sh, jak pokazano na poniższym obrazku;.

Wyniki tego skryptu będą zróżnicowane; nie będzie sekwencji. Od procesora zależy, która funkcja zostanie wykonana jako pierwsza, zwykle procesor najpierw pokazuje ostatni identyfikator; poniżej pokazane jest wyjście tego programu:

Na powyższym obrazku widać ostatnie id zmiennej wykonywanej jako pierwsze, a ta sekwencja następuje aż do pierwszego id.

Dodaj polecenie oczekiwania, aby uzyskać prawidłowe dane wyjściowe:

Teraz będziesz musiał dodać polecenie oczekiwania, aby wykonać je w odpowiedniej kolejności. Na poniższym obrazku w wierszach 3, 6, 7 dodano polecenie oczekiwania; teraz pozwoli to klasie nadrzędnej czekać, aż klasa potomna się zakończy.

Aby uzyskać dane wyjściowe tego programu, wykonaj tę samą metodę, jak pokazano powyżej. Użyj polecenia ze słowem kluczowym bash wraz z nazwą już utworzonego pliku kodu. Dane wyjściowe tego programu są niedokładne w kolejności i nie są posortowane, jak pokazano na załączonym obrazku.

Oto odpowiedni wynik programu, który można łatwo zrozumieć. „Dobrze cię tu widzieć” zostanie wyświetlone na końcu, ponieważ komenda oczekiwania jest zastosowana w tej instrukcji, więc musi poczekać, aż inne instrukcje zostaną przetworzone i pokażą odpowiedni wynik.

Niektóre konkretne zastosowania polecenia „Czekaj”:

Powyżej widzieliśmy wiele przykładów użycia polecenia wait, aby uzyskać odpowiedni i oczekiwany wynik skryptu. Gdy w powłoce działają różne procesy, w powłoce obecny jest tylko identyfikator procesu ostatniego polecenia. Tak więc, aby uruchomić pierwsze polecenie, najpierw musisz zastosować polecenie wait w swoim ostatnim. Polecenia wait używamy głównie w programie posiadającym wiele procesów, aby uzyskać odpowiednie wyjście.

Wniosek:

W tym artykule wyjaśniono szczegóły dotyczące polecenia oczekiwania na wykonanie niektórych określonych procesów w systemie Linux. Powyżej znajdują się przykłady, które pomogą zrozumieć użycie polecenia wait i jego działanie w systemie Linux. Wszystko, co musisz zrobić, to skorzystać z tego artykułu i użyć polecenia wait w swoim skrypcie, aby uzyskać własne pożądane wyniki.

Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...
Gry Samouczek Shadow of the Tomb Raider dla systemu Linux
Samouczek Shadow of the Tomb Raider dla systemu Linux
Shadow of the Tomb Raider to dwunasty dodatek do serii Tomb Raider - przygodowej serii gier akcji stworzonej przez Eidos Montreal. Gra została dość do...
Gry Jak zwiększyć FPS w Linuksie??
Jak zwiększyć FPS w Linuksie??
FPS oznacza Klatki na sekundę. Zadaniem FPS jest pomiar liczby klatek na sekundę podczas odtwarzania wideo lub wydajności gier. W prostych słowach lic...