Zabij wszystkie zatrzymane prace Linux

Zabij wszystkie zatrzymane prace Linux

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:

  • Pierwszoplanowy
  • Tło

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ą:

  • -N - To pokazuje zadania, które zmieniły ich status od czasu ostatniego powiadomienia. Na przykład praca, która zmieniła się z biegania na stan zatrzymany.
  • -P - Wymienia tylko PIDS z pracy.
  • -R -Tylko uruchamianie pracy
  • -S - Pokazuje tylko zatrzymane prace.

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.