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ę
Proces nadrzędny powinien następnie uruchomić
Jak znaleźć procesy zombie:
Uruchamianie polecenia
Uruchamianie 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:
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
Uruchamianie polecenia
ps -ef | grep defunct
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
SIGCHLDsygnał 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 LTSProprietăț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ță.