Linux: Kończenie procesu zombie w środowiskach Linux

Summary: Co to jest proces zombie, jak go znaleźć i jak go zabić lub zakończyć.

Acest articol se aplică pentru Acest articol nu se aplică pentru Acest articol nu este legat de un produs specific. Acest articol nu acoperă toate versiunile de produs existente.

Instructions

Co to jest proces Zombie:
Jest to proces, który się zakończył, ale nie jest natychmiast usuwany z pamięci, ponieważ jego deskryptor procesu pozostaje w pamięci.

Jakie powinno być normalne zachowanie procesu:
Po zakończeniu procesu jego stan staje się EXIT_ZOMBIE a element nadrzędny procesu jest powiadamiany, że jego proces podrzędny umarł z SIGCHLD Sygnału.

Proces nadrzędny powinien następnie uruchomić wait() dla wywołania systemowego, aby odczytać kod zakończenia martwego procesu i inne informacje. Po wait() proces zombie jest usuwany z pamięci. Dzieje się to szybko, więc nie widzisz procesów zombie gromadzących się w twoim systemie. Ale w przypadkach, gdy widzimy nagromadzenie kilku procesów zombie, jest to sytuacja, w której kod programu nie jest wydajny.

Jak znaleźć procesy zombie:
Uruchamianie polecenia top
wyniki z polecenia Top

Uruchamianie polecenia ps -ef | grep defunct
Wynik nieczynnego polecenia

Jak zakończyć gromadzące się procesy zombie:
W większości przypadków procesy zombie mają ten sam identyfikator procesu nadrzędnego.

Istnieją dwie metody usunięcia procesu:
  • Wyślij SIGCHLD sygnał do procesu nadrzędnego.
Ten sygnał mówi procesowi nadrzędnemu, aby uruchomił wait() System wzywa i sprząta swoje dzieci zombie:
kill -s SIGCHLD <PPID>
Przykład:
kill -s SIGCHLD 2201
  • Zabij proces nadrzędny zombie
kill -9 <PPID>
Przykład:
kill -9 2201

Produse afectate

SUSE Linux Enterprise Server 12, Red Hat Enterprise Linux Version 7, Red Hat Enterprise Linux Version 9, Red Hat Enterprise Linux Version 8, SUSE Linux Enterprise Server 15, Ubuntu Server LTS
Proprietăți articol
Article Number: 000019108
Article Type: How To
Ultima modificare: 03 feb. 2026
Version:  5
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.