Zabijanie procesu
Do zabicia procesu będziemy używać garstki narzędzi: zabić, Pkill, I zabić wszystkich. Wszystkie działają w zasadzie w ten sam sposób.
Te narzędzia same nie kończą tego procesu. Zamiast tego wysyłają wyznaczony sygnał do docelowego procesu lub grup procesowych. Jeśli nie określiłeś żadnego konkretnego sygnału, Sigterm jest wysyłany jako domyślny sygnał. Istnieje jednak wiele obsługiwanych sygnałów, na przykład Sigkill, westchnienie itp.
Oto podstawowa struktura poleceń dla zabić, Pkill I zabić wszystkich.
$ zabój
$ pkill
$ Killall
O ile to możliwe, zaleca się użycie zabić.
Zabić, Pkill I zabić wszystkich lokalizacje
Kill jest domyślnym poleceniem do zakończenia procesu.
$ Kill - -Help
Jest uruchomiony z katalogu /usr /bin.
$, które zabijają
Korzyści polega na tym, że umożliwia również dostęp do Pkill, kolejne polecenie podobne do zabicia, które umożliwia proces zakończenia na podstawie ich nazwy.
$ PKILL -HELP
$ które pkill
Niektóre aplikacje uruchamiają wiele procesów tego samego wykonywalnego. Jeśli chcesz zakończyć wiele procesów o tej samej nazwie, użyj narzędzia Killall.
$ KILLALL -HELP
$ które Killall
Wymień wszystkie uruchomione procesy
Pierwszym zadaniem jest identyfikacja PID (numer identyfikacyjny procesu) i/lub nazwa procesu, którą chcesz zakończyć. W tym przykładzie będę używać Firefox jako procesu docelowego do zakończenia. Uruchom następujące polecenie, aby wymienić wszystkie uruchomione procesy w systemie.
$ ps -a
W przypadku większości zadań musimy znać PID procesu docelowego. Jednak w niektórych sytuacjach korzystanie z nazwy procesu jest bardziej odpowiednie.
Jeśli znasz dokładną nazwę procesu docelowego, możesz bezpośrednio użyć PID Pidof.
$ pidof
Kolejnym interesującym narzędziem do pobrania informacji o procesie docelowym jest PGREP. Jest specjalnie zaprojektowany do tego celu.
$ pgrep
Zabij sygnały
Teraz spójrzmy na sygnały, które wspierają narzędzia zabijania. To ogromna lista. Oczywiście nie wszystkie są niezbędne do każdej sytuacji. W rzeczywistości większość sytuacji wymaga tylko garstki sygnałów.
Najpierw spójrzmy na listę, która zabija wsparcie.
$ Kill -l
Istnieją 2 sposoby zdefiniowania, który sygnał chcesz wysłać. Możesz użyć pełnej nazwy sygnału lub jej równoważnej wartości.
$ zabój -
Lub,
$ zabój -
Najpopularniejsze sygnały to westchnienie (1), Sigkill (9) i Sigterm (15). Ogólnie rzecz biorąc, SIGTERM jest domyślnym i najbezpieczniejszym sposobem zakończenia procesu docelowego.
W przypadku Pkilla podporządkowany sygnał jest taki sam jak zabójstwo. Jednak w przypadku Killall liczba obsługiwanych sygnałów i nazw sygnałów jest inna.
$ KILLALL -L
Zabijanie procesu
Aby zabić proces, potrzebujemy PID tego procesu docelowego. Zakładając, że masz PID, uruchom następujące polecenie, aby.
$ zabój
Tutaj Kill wyśle domyślny sygnał Sigterm do PID (S). Jeśli chcesz zakończyć wiele procesów, wspomnij o wszystkich PIDS oddzielonych przestrzenią.
$ zabój
Określmy, który sygnał chcesz wysłać do celu.
Chcesz zakończyć proces za pomocą jego nazwy? Użyj Pkill.
$ pkill
W niektórych przypadkach konkretna aplikacja może mieć zbyt wiele procesów. Wpisywanie wszystkich tych pids jest czasochłonne i męczące. W takich scenariuszach będziemy używać narzędzia Killall. Jest dość podobny do zabicia, ale działa z nazwą procesu.
$ Killall
Na przykład, gdy uruchamia Firefox, rozpoczyna garść procesów. Aby zabić ich wszystkie naraz, uruchom to polecenie.
$ Killall Firefox
Chcesz zakończyć wszystkie procesy działające pod określonym użytkownikiem? Killall może wykonać pracę, nie ma problemu. Bądź ostrożny podczas uruchamiania tego, ponieważ może on rozbić system i tworzyć inne problemy. To nie zadziała, jeśli próbujesz zakończyć procesy działające pod innym użytkownikiem o wyższym uprawnieniu.
$ KILLALL -u
Konflikt uprawnień
Warunkowe cechy hierarchii użytkowników Linux również mają również zastosowanie, gdy masz zamiar zakończyć aplikację. Użytkownik nie może zakończyć procesów działających z wyższym przywilejem, tylko procesy o równym/niższym uprawnieniu. Ponadto użytkownik nie może manipulować procesami działającymi pod różnym użytkownikiem.
Na przykład rozważmy polecenie tak. Jeśli jest nazywany bieżącym użytkownikiem, można go łatwo rozwiązać za pomocą zabójstwa.
$ zabij tak
A teraz jeśli Tak działał pod źródło? Wywołanie zabójstwa, ponieważ obecny użytkownik nie będzie działał.
Podobnie, jeśli proces działał pod innym użytkownikiem, nie możesz go zakończyć z innego konta użytkownika.
Końcowe przemyślenia
W tym artykule zaprezentowano tylko podstawy i wspólne użycie tych poleceń. Te narzędzia zabijania są zdolne do więcej niż to. Aby mieć dogłębną wiedzę na temat umiejętności dowolnego narzędzia, polecam sprawdzić stronę mężczyzny.
$ Man Kill
$ Man Pkill
Cieszyć się!