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.

Komentarze