Jak sprawdzać i zabijać procesy zombie w Debianie 10
Proces zombie jest rodzajem procesu, który jest zakończony, ale jego wpis nadal pozostaje w tabeli procesów z powodu braku komunikacji między procesem potomnym i nadrzędnym.
W tym poradniku pokażę, jak można sprawdzić i zabić proces zombie w Debianie 10.
Wymagania wstępne
Musisz mieć uprawnienia roota i co najmniej jeden wpis procesu zombie w tabeli procesów.
Jak sprawdzić proces zombie w Debianie 10
Za pomocą wiersza poleceń
Możesz uzyskać listę wszystkich procesów uruchomionych w systemie za pomocą górnego polecenia, jak pokazano poniżej.
Aby sprawdzić proces zombie na twoim komputerze Debian 10, musisz otworzyć terminal i wykonać następujące polecenie.
ps axo stat,ppid,pid,comm | grep -w defunct
Ponieważ na naszym komputerze nie działa żaden proces zombie. Dlatego w następnym kroku stworzymy manekin zombie, abym mógł go zabić. Gdyby działał proces zombie, polecenie zwróciłoby swój PID itp.
Przez GUI
To samo można również zrobić za pomocą GUI. Otwórz narzędzie monitorowania systemu z pulpitu nawigacyjnego, jak pokazano poniżej.
Narzędzie wyświetli listę wszystkich procesów uruchomionych na twoim komputerze. Możesz także przewijać w górę i w dół, aby zobaczyć wszystkie procesy.
Jak stworzyć sztuczny proces zombie w Debianie 10
Otwórz edytor tekstu i wklej następujący kod. Kod został skopiowany z https://vitux.com/how-to-create-a-dummy-zombie-process-in-ubuntu/
#include <stdlib.h> #include <sys/types.h> #include <unistd.h>int main () { pid_t child_pid;child_pid = fork (); if (child_pid > 0) { sleep (60); } else { exit (0); } return 0; }
Zapisz plik jako zombie.c. Proces zombie będzie trwał 60 sekund. Można jednak dostosować czas w funkcji snu.
Następnie otwórz terminal i uruchom następującą komendę, aby skompilować ten program. Spowoduje to utworzenie wykonywalnego pliku celu.
cc zombie.c -o zombie
Następnie uruchom następujące polecenie, aby utworzyć proces zombie, który będzie żył przez sześćdziesiąt sekund.
./zombie
Jak zabić proces zombie
Za pomocą wiersza poleceń
Teraz mamy proces zombie, więc możemy go również zabić.
Otwórz terminal i wykonaj następujące polecenie, aby poznać identyfikator procesu nadrzędnego zombie.
ps axo stat,ppid,pid,comm | grep -w defunct
Na poniższym zrzucie ekranu widać, że nadrzędny identyfikator procesu jest drugim wpisem w wyniku polecenia.
Wydaj następujące polecenie na terminalu z uprawnieniami roota, a to zabije proces zombie.
kill -9 <PPID> (which is 2844 in our case)
Jeśli sprawdzisz procesy za pomocą polecenia ps, nie zauważysz żadnego zombie lub niedziałającego procesu uruchomionego w twoim systemie.
GUI
Ponownie otwórz narzędzie do monitorowania systemu z pulpitu nawigacyjnego i wyświetl listę procesów od wszystkich użytkowników. Zauważysz pojedynczy proces zombie uruchomiony na twoim komputerze.
Teraz kliknij prawym przyciskiem myszy proces zombie i kliknij przycisk „zabij”, aby zabić proces. Zostaniesz poproszony o potwierdzenie. Kliknij „Kill Process”, aby potwierdzić. Zostaniesz również poproszony o podanie poświadczeń użytkownika root.
Mam nadzieję, że ten samouczek bardzo pomógł ci zrozumieć procesy zombie.