W tym przewodniku pokażemy, jak zabić proces Linuksa po jego PID.
PID w Linux
Termin PID jest akronimem dla „numeru identyfikacji procesu”. Każdemu procesowi przypisuje się unikalne PID w momencie, gdy są tworzone w systemie. PID numer 1 jest przypisany do SystemD (init, dla starszych systemów). Zasadniczo SystemD lub init jest zawsze pierwszym procesem, który rozpocznie się w Linux i jest rodzicem wszystkich innych procesów.
Istnieje kilka narzędzi, których możemy użyć, aby uzyskać PID procesu docelowego. Najpopularniejszą (i zalecaną) metodą uzyskania PID jest użycie polecenia PS. To wbudowane narzędzie dostępne we wszystkich systemach Linux. Dowiedz się więcej dogłębnie o poleceniu PS w Linux.
Aby wydrukować wszystkie uruchomione procesy za pomocą PID, uruchom następujące polecenie PS:
$ ps -ef
Aby ułatwić nawigację, wyprzyj wyjście do polecenia mniej:
$ ps -ef | mniej
Zauważ, że kolumna PID wymienia wszystkie procesy posortowane przez PID. To wartość, której szukamy.
Szukam konkretnego procesu o określonej nazwie? Wtedy polecenie Grep jest twoim przyjacielem. Może wyszukiwać określony wzór w danym pliku (w tym przypadku stdout). Na przykład następujące polecenie poszukiwania każdego uruchomionego procesu Firefox:
$ ps -ef | Grep Firefox
Jeśli znasz nazwę procesu docelowego, możemy użyć polecenia PIDOF, aby bezpośrednio zdobyć PID.
$ pidof Firefox
Kolejnym interesującym poleceniem do wykonania zadania jest PGREP. Działa bezpośrednio na liście obecnie działających procesów. Polecenie PGREP przyjmie nazwę procesu jako parametr i wydrukuje PID dowolnego pasującego wpisu.
$ pgrep Firefox
Zwróć uwagę na PID procesu docelowego. Następna sekcja tego artykułu zaprezentuje zakończenie procesu przez jego PID.
Zabijanie procesu
Zabicie procesu wymaga wysłania sygnału terminalowego do procesu. Nie ma jednak jednego sygnału zakończenia. Istnieje kilka z nich, każda działająca nieco inaczej niż inne. Dlatego ważne jest, aby je najpierw zrozumieć.
Linux zabija sygnały
Komenda Kill w Linux jest odpowiedzialna za wysyłanie sygnałów terminowych. Aby uzyskać szczegółowe wyjaśnienie, sprawdź ten przewodnik na polecenie Linux Kill. Krótko mówiąc, mówisz komendzie Kill, jaki sygnał wysłać do jakiego procesu (za pomocą PID).
Aby uzyskać pełną listę wszystkich sygnałów zakończenia, uruchom następujące polecenie:
$ Kill -l
W większości jednak będziemy potrzebować tylko garstki. Oto szczegółowe wyjaśnienia najczęstszych sygnałów rozwiązania, o których powinieneś wiedzieć.
Zabijanie procesu za pomocą zabójstwa
Jest to domyślny sposób zakończenia procesu docelowego w Linux. Polecenie Kill jest zgodne z następującą strukturą polecenia:
$ zabój -
Na przykład, aby wysłać Sigterm do procesu, polecenie wyglądałoby tak:
$ Kill -15
Podobnie, jeśli chcesz wysłać Sigkill, użyj następującego polecenia:
$ Kill -9
Dowiedz się więcej o komendzie Linux Kill z dogłębnymi wyjaśnieniami i przykładami.
Zabijanie wielu procesów za pomocą Killall
Komenda Killall działa podobne do zabicia. Jednak zamiast definiować określony PID, używa nazwy procesu i wysyła określony sygnał terminu do wszystkich procesów pasujących do nazwy.
Struktura dowodzenia Killall wygląda tak:
$ Killall -
Na przykład następujące polecenie Killall wyśle Sigterm do wszystkich działających procesów Firefox:
$ Killall -15 Firefox
Sprawdź ten przewodnik na polecenie Linux Killall, aby uzyskać szczegółowe wyjaśnienia z przykładami. Zaleca się również sprawdzenie strony Man of Killall:
$ Man Killall
Zabijanie wielu procesów za pomocą Pkilla
Podobnie jak polecenie Killall, Pkill może również wyszukiwać procesy na podstawie nazwy i wysyłać określony sygnał terminowy. Struktura poleceń jest również prawie podobna;
$ pkill -
Na przykład użyj następującego polecenia PKILL, aby zakończyć proces Firefox za pomocą Sigterm:
$ pkill -15 Firefox
Jak zawsze, sprawdź stronę Pkill dla szczegółowych wyjaśnień ze wszystkimi niuansami:
$ Man Pkill
Końcowe przemyślenia
Ten przewodnik pokazuje różne sposoby zabijania procesu przez PID. Pokazuje także alternatywne metody wykorzystujące nazwę procesu zamiast PID. Zawsze lepiej jest mieć do dyspozycji wiele narzędzi. Tutaj użyliśmy poleceń PS i PGREP, aby znaleźć PID i zabójstwo, Pkill i Killall Polecenia do zabijania procesów.
W wielu sytuacjach możesz chcieć pozbyć się nieznośnych procesów w tle, które są nieprawidłowe. Dowiedz się więcej o identyfikowaniu procesów tła w Linux. Następnie, zgodnie z metodami w tym przewodniku, możesz łatwo pozbyć się niechcianych.
Szczęśliwy komputer!