W Linux zadanie odnosi się do procesu rozpoczętego i zarządzanego przez powłokę. To może być pojedyncze polecenie, długie i złożone polecenie powłoki, w tym rury i przekierowania, wykonywalny lub skrypt. Każde zadanie w Linux jest zarządzane poprzez przypisanie sekwencyjnego IP zadania powiązanego z określonym procesem.
Kluczową koncepcją zrozumienia zadań Linuksa są ich statusy. Istnieją dwa główne statusy dla Linux Jobs:
Praca na pierwszym planie
Zadanie na pierwszym planie odnosi się do polecenia lub programu wykonanego w powłoce i zajmuje sesję terminalową, dopóki nie zakończy. Przykładem byłoby uruchomienie menedżera plików lub przeglądarki w terminalu
Na przykład następujący zrzut ekranu pokazuje okno terminala z zadaniem na pierwszym planie.
Na powyższym obrazie monit powłoki jest niedostępny, aż okno Firefox zamknie.
Praca w tle
Przeciwieństwem pierwszego planu jest zadania w tle. Aby zainicjować zadanie w powłoce jako zadanie w tle, używamy symbolu Ampersand (&). Korzystanie z tego poinformuje powłożenie, aby umieścić wszystkie polecenia przed AMPERSandem w tle i natychmiast pokazać monit powłoki.
Poniższy przykład pokazuje, jak umieścić zadanie Firefox (w powyższym przykładzie) w tle.
Jak widać, podpowiedź Shell jest teraz dostępna, mimo że Firefox nadal działa.
Zauważysz wartości numeryczne wyświetlane dla zadań w tle. Pierwszy, wskazany przez nawiasy kwadratowe ([]), pokazuje identyfikator zadania, podczas gdy druga wartość wskazuje PID procesu związanego z zadaniem.
Jak zarządzać zadaniami podstawowymi
Komenda Jobs obsługuje kontrolę zadania. To pozwala przeglądać zadania w tle.
Sudo Jobs
Wykonanie powyższego polecenia pokazuje zadania tła, jak pokazano poniżej:
Zaczynając po lewej stronie, mamy identyfikator pracy.
Następnie natychmiast po wspornikach znajduje się znak plus (+) lub minus (-). Znak plus wskazuje, że jest to bieżące zadanie, a liczba minus pokazuje następne zadanie.
Następny wspornik pokazuje stan pracy. Które mogą być uruchamiane, zatrzymywane, zakończone, wykonane lub wychodzenia z kodem stanu.
Wreszcie ostatnia część pokazuje faktyczną nazwę pracy.
Pokaż prace z PID
Aby pokazać zadania podstawowe z odpowiednimi wartościami PID, używamy flagi -L jako:
Jobs -L
Które pokaże zadania podstawowe z ich wartościami PID, jak pokazano na poniższym obrazku.
Zadania tła z wyjściem
Załóżmy, że mamy pracę, którą chcemy uruchomić w tle, która zrzuca wyjście na ekranie. Na przykład w powyższym przykładzie umieszczam polecenie apt, które ma dużo wyjściowych w tle, bez zepsucia mojego terminala.
Aby to zrobić, możesz przekierować dane wyjściowe w /dev /null jako:
sudo apt-get aktualizacja> /dev /null &
Jak wprowadzić tła praca na pierwszy plan
Możemy wprowadzić zadania podstawowe na pierwszy plan, używając polecenia FG. Na przykład, aby wnieść pracę Firefox z identyfikatorem pracy 1 na tło, możemy zrobić:
FG %1
To przyniesie pracę na pierwszym planie jako:
Ubuntu@ubuntu20: ~ $ fg %1
Firefox
Opcje poleceń zadań
Polecenie zadań nie ma wielu opcji.
Omówiliśmy już -l, aby pokazać zadania z ich identyfikatorami procesu.
Inne opcje, które możesz przekazać do polecenia zadania, obejmują:
Jak zakończyć lub zabić pracę
Możemy zakończyć zadania przy użyciu polecenia Kill, a następnie identyfikatora zadania, podjazdu lub identyfikatora procesu.
Zabij za pomocą identyfikatora pracy
Aby zabić pracę z identyfikatorem pracy, używamy %, a następnie wartość identyfikatora jako:
Kill %%
To zabije obecną pracę; Jest to podobne do %+.
Zabij pracę za pomocą podjazdu
Zabijając pracę za pomocą podjazdu, prefiks podkładu z %? a następnie wartość podłoża jako:
Zabij %?Gnome-calculator
NOTATKA: Linux wykonuje zadania jednocześnie. Oznacza to, że skacze tam iz powrotem między dostępnymi pracami, dopóki nie ukończą. Dlatego zakończenie sesji terminalowej z uruchamianiem zadań zakończy wszystkie twoje zadania.
Nie musisz się o to martwić, jeśli używasz multiplekseru terminalowego, takiego jak Tmux lub ekran, ponieważ możesz je ponownie ponownie.
Jak zabić zatrzymane prace
Aby zabić wszystkie zatrzymane prace, musimy łączyć dwa polecenia. Pierwszy dostanie PIDs wszystkich zatrzymanych miejsc pracy, a następne zabije wszystkie dostarczone miejsca pracy.
Aby wyświetlić zatrzymane zadania, używamy polecenia
Jobs -s
To polecenie pokazuje wszystkie zatrzymane zadania.
Mając to, możemy zdobyć PIDS z zatrzymanych miejsc pracy i poprowadzić je do zabicia dowództwa jako:
sudo zabij -9 'Jobs -p -s'
To zabije wszystkie zatrzymane prace.
Wniosek
Ten samouczek przeszedł koncepcje kontroli pracy w Linux i jak uzyskać informacje o pracy. Warto zauważyć, że kontrola zadań może nie być dostępna w zależności od wybranej powłoki.
Dziękuję za przeczytanie i szczęśliwe powłoki.