Afslutning af en zombieproces i Linux-miljøer
Summary: Hvad er en zombieproces, hvordan man finder den, og hvordan man dræber eller afslutter den.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Instructions
Hvad er en zombieproces:
Det er en proces, der sluttede, men ikke det hele fjernes straks fra hukommelsen, da dens procesbeskrivelse forbliver i hukommelsen.
Hvad skal være den normale opførsel af en proces:
Når en proces slutter, bliver processens status
Den overordnede proces skal derefter køre
Sådan finder du en zombie processer:
Kørsel af kommandoen
Kørsel af kommandoen
Sådan afsluttes akkumulerende zombieprocesser:
Det meste af tiden har zombieprocesserne det samme overordnede proces-id.
Der er to metoder til at fjerne processen:
Det er en proces, der sluttede, men ikke det hele fjernes straks fra hukommelsen, da dens procesbeskrivelse forbliver i hukommelsen.
Hvad skal være den normale opførsel af en proces:
Når en proces slutter, bliver processens status
EXIT_ZOMBIE og processens forælder underrettes om, at dens underordnede proces er død med SIGCHLD signal.
Den overordnede proces skal derefter køre
wait() for at systemopkaldet kan læse den døde proces' afslutningsstatus og andre oplysninger. Efter wait() kaldes, fjernes zombieprocessen fra hukommelsen. Dette sker hurtigt, så du ikke ser zombieprocesser akkumulere på dit system. Men i tilfælde, hvor vi ser flere zombieprocesser akkumulere, er dette en situation, hvor programkoden ikke er effektiv.
Sådan finder du en zombie processer:
Kørsel af kommandoen
top
Kørsel af kommandoen
ps -ef | grep defunct
Sådan afsluttes akkumulerende zombieprocesser:
Det meste af tiden har zombieprocesserne det samme overordnede proces-id.
Der er to metoder til at fjerne processen:
- Send
SIGCHLDsignal til den overordnede proces.
Dette signal fortæller den overordnede proces at køre
wait() System kalder og rydder op i sine zombiebørn:
kill -s SIGCHLD <PPID>
Eksempel:
kill -s SIGCHLD 2201
- Dræb zombieforældreprocessen
kill -9 <PPID>
Eksempel:
kill -9 2201
Affected Products
Dell OpenManage Enterprise, NetWorker SeriesArticle Properties
Article Number: 000019108
Article Type: How To
Last Modified: 12 Apr 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.