W systemie operacyjnym w pamięci RAM komputera znajduje się wiele programów. Programy te mogą być uruchamiane przez sam system operacyjny lub przez użytkownika, takie programy nazywane są 'Procesy .' Zwykle proces ma swój cykl życia i kończy się sam po jego ukończeniu lub gdy zakończymy go ręcznie. Czasami jednak proces może się zawiesić z powodu błędu w harmonogramie procesu lub z powodu zużycia dużej ilości pamięci RAM lub procesora. W takich przypadkach musimy ręcznie zakończyć procesy, aby uchronić naszą maszynę przed nieoczekiwanym rozłączeniem.
Linux umożliwia różnym narzędziom zabicie błędnego procesu. Aby zabić proces, musimy mieć informacje o procesie, takie jak PID, sygnał i inne .
Lokalizowanie procesów
Aby zabić proces, musimy uzyskać dostęp do informacji o procesie. Istnieją różne polecenia umożliwiające śledzenie procesu, np szczyt , ps , chwyt, I pidof.
System Linux pozwala nam zabić proces na różne sposoby, np zabij proces według jego nazwy lub identyfikatora procesu (PID). Zatem użyjemy powyższych poleceń w zależności od naszych potrzeb.
Lokalizowanie procesów za pomocą polecenia „top”.
The szczyt polecenie służy do wyświetlenia listy wszystkich uruchomionych procesów w systemie Linux. Wyświetla szczegółowe informacje, takie jak PID, nazwa użytkownika, użycie procesora, czas, wykonane polecenie i inne.
Aby zlokalizować procesy, wykonaj następujące polecenie:
przykłady NFA
top
Powyższe polecenie wyświetli działające procesy. Rozważ poniższe dane wyjściowe:
Procesy możemy przeglądać przewijając terminal w górę i w dół. Górne polecenie udostępnia różne filtry do filtrowania procesów, takie jak nazwa procesu, użycie procesora i inne. Aby wyjść z górnej sekcji, naciśnij przycisk 'Q' klawisz, spowoduje to powrót do terminala. Możemy jednak skorzystać także z tradycyjnej opcji wyjścia poprzez naciśnięcie CTRL+ C Klucze.
Lokalizowanie procesów za pomocą poleceń ps i grep
The ps polecenie to kolejny sposób wyświetlania informacji o procesie. Istnieje wiele opcji używanych z poleceniem ps, np Do, co znaczy:
A : Aby wyświetlić procesy dla wszystkich użytkowników
W : Aby wyświetlić procesy używane przez konkretnego użytkownika
X : Aby pokazać wszystkie procesy. Jeśli nie określimy opcji x, nie wyświetli się proces GUI.
Wykonaj poniższe polecenie, aby wyświetlić listę wszystkich uruchomionych procesów:
ps aux
Rozważ poniższe dane wyjściowe:
Dane wyjściowe polecenia ps są podobne do szczyt Komenda. W pierwszych dwóch kolumnach podana jest nazwa procesu i PID, a nazwa procesu w prawej kolumnie.
Polecenie ps jest bardziej przydatne niż polecenie górne. Pozwala nam filtrować dane wyjściowe za pomocą polecenia grep.
Załóżmy, że chcemy odfiltrować cały proces za pomocą nazwy użytkownika javatpo+, wykonaj polecenie w następujący sposób:
ps aux | grep javatpo+
Powyższe polecenie przefiltruje cały określony proces za pomocą polecenia grep. Rozważ poniższe dane wyjściowe:
Powyższe dane wyjściowe zawierają łącznie funkcjonalność polecenia ps i grep.
Lokalizowanie procesu za pomocą poleceń pidof i pgrep
The pidof polecenie pozwala nam również zlokalizować proces. Jeśli chcemy śledzić proces po nazwie, bardzo przydatna będzie komenda pidof. Wyświetla identyfikatory PID procesów, gdy jest używane z nazwą procesu.
Aby zlokalizować PID procesu, wykonaj polecenie pidof w następujący sposób:
pidof process_name
Jeśli mamy działający proces o dokładnej nazwie chrom , wykonaj następujące polecenie, aby uzyskać jego identyfikatory PID.
pidof chrome
rozważ poniższe dane wyjściowe:
Zabijanie procesu
Teraz, gdy prześledziliśmy procesy, możemy zabić proces. Istnieją różne polecenia służące do zakończenia procesu, np zabić , zabić , szczyt, I zabij.
Przed zabiciem procesu należy wiedzieć, jakie procesy możemy zabić. Poniżej znajduje się kilka istotnych punktów dotyczących procesów zabijania:
- Jeśli jesteś zwykłym użytkownikiem, możesz zabić tylko te procesy, które należą do ciebie. Nie można zabić procesów uruchomionych przez innych użytkowników. The szczyt I ps do polecenia wyświetlają użytkownikom powiązany proces.
- Użytkownik root może zabić wszystkie procesy. Możemy jednak również dodać sudo przed jakimkolwiek poleceniem, aby wykonać je jako root.
- W Linuksie, gdy proces zostaje zabity, do procesów przesyłany jest specjalny sygnał. Chociaż w Linuksie istnieją różne typy sygnałów, ale w tym przypadku Linux radzi sobie z SIGKILLS I TERMIN sygnały. Domyślnie. Linux wysyła SIGTERM, który bezpiecznie kończy proces. Jeśli chcesz na siłę zabić proces, użyj zamiast tego SIGKILL.
- Linux utrzymuje status procesów do momentu całkowitego usunięcia ich z systemu. Zatem procesy potomne będą wyświetlane na liście procesów do czasu usunięcia procesu nadrzędnego.
- Nie możemy zabić procesu, jeśli jest on aktywny „nieprzerwany sen”. .' Taka sytuacja ma miejsce, gdy proces wykonuje operację wejścia/wyjścia. Stan ten można zaobserwować w 8tkolumna z szczyt i ps do polecenia.
Zabicie procesu komendą killall
Polecenie killall jest najłatwiejszą techniką zakończenia procesu, jeśli znasz jego dokładną nazwę, nie jest on uruchomiony przez żadnego innego użytkownika i nie znajduje się w stanie Z lub D. W przypadku polecenia „zabij wszystko” nie ma potrzeby lokalizowania procesu ani PID. Aby zabić proces, wykonaj następujące polecenie:
killall firefox
Powyższe polecenie zakończy proces i zamknie przeglądarkę Firefox. Rozważ poniższe dane wyjściowe:
Jeśli polecenie pomyślnie zakończy proces, nie wyświetli żadnego wyniku.
Aby wymusić zakończenie procesu, wykonaj polecenie killall z opcją -SIGKILL w następujący sposób:
killall -SIGKILL process_name
możemy także użyć -9 zamiast -SIGKILL.
Aby interaktywnie zabić proces, wykonaj następujące polecenie:
killall -i process_name
Aby zakończyć proces jako inny użytkownik, wykonaj następujące polecenie:
sudo killall process_name
Możemy również zabić proces na określony czas, używając -O I -I flagi. Aby zabić proces działający dłużej niż 20 minut, wykonaj poniższe polecenie: killall -o 20m nazwa_procesu
Aby zakończyć proces działający krócej niż 20 minut, wykonaj poniższe polecenie:
killall -y 20m process_name
Skróty określające okres czasu są następujące:
sekundy: s
minuty: m
godziny: godz
dni: d
tygodnie: w
miesiące: M
lata: r
Zabij proces za pomocą polecenia pkill
Czasami nie znamy dokładnej nazwy procesu; w takim przypadku najbardziej przydatnym narzędziem do zakończenia procesu będzie polecenie pkill. Pozwala nam zabić proces poprzez wprowadzenie pasującej nazwy procesu. Na przykład, chcemy zabić wszystkie procesy o pasującej nazwie Java, wykonaj polecenie w następujący sposób:
pkill java
zamknie wszystkie procesy zawierające nazwę Java. Podobnie, aby zabić proces Firefoksa, wykonaj następujące polecenie:
pkill fire
Rozważ poniższe dane wyjściowe:
Jeśli polecenie pkill zostanie pomyślnie wykonane, nie wyświetli żadnych wyników.
Aby wymusić zakończenie procesu za pomocą polecenia pkill, wykonaj je w następujący sposób:
pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>
Zabij proces za pomocą polecenia kill
Polecenie kill to najprostsze narzędzie służące do zakończenia procesu; wszystko czego potrzebujemy PID procesu. Gdy otrzymamy PID procesu, jest to prosty proces. Aby zakończyć proces, wykonaj polecenie kill, po którym następuje PID. Aby zlokalizować PID procesu, użyj polecenia top lub ps aux, jak wyjaśniono powyżej.
Aby zabić proces mający PID 5296, wykonaj następujące polecenie:
kill 5296
Aby wymusić zakończenie procesu, użyj opcji -SIGKILL lub -9:
kill -SIGKILL 5296
Powyższe polecenie zakończy proces posiadający PID 5296.
Zabij proces za pomocą najwyższego polecenia
Najwyższe polecenie pozwala nam zlokalizować i zakończyć proces. Zakończenie procesu za pomocą polecenia Top jest prostym procesem. Najpierw wykonaj górne polecenie, aby zlokalizować proces i naciśnij „k” klawisz podczas wykonywania polecenia. Zanurzy cię w tryb zabijania procesu, wprowadź PID procesu, który chcesz zabić. Rozważ poniższe dane wyjściowe:
Jak widać z powyższych danych wyjściowych, istnieje opcja 'PID do sygnalizowania/zabijania' aby zabić proces z powyższej listy procesów. Wpisz PID procesu i naciśnij WCHODZIĆ klucz.
Jeśli pozostawimy PID pusty, zakończy to najwyższy proces.
Zabij proces za pomocą Monitora systemu
Możemy także zakończyć proces poprzez środowisko graficzne Linuksa zwane monitorem systemu. Aby zabić proces poprzez monitor systemu, wykonaj poniższe kroki:
Krok 1: Wyszukaj lub przeglądaj monitor systemu, naciśnij klawisz Enter, aby go otworzyć.
Krok 2: Wyświetli listę wszystkich uruchomionych procesów systemu Linux. Rozważ poniższy obraz:
Krok 3: Przeglądaj proces i kliknij go prawym przyciskiem myszy, który chcesz zakończyć.
Krok 4: Wybierz opcję Zabij. Możemy także skorzystać z CTRL+K klucze, aby go zabić.