Skal

Hur man skapar en Dummy Zombie-process i Ubuntu 18.04 LTS

Hur man skapar en Dummy Zombie-process i Ubuntu 18.04 LTS

Som programvarutestare behöver vi ibland veta hur en zombieprocess ser ut på vårt system. Vi kan köra olika tester på den om vi specifikt vet vilket program och process-ID som är associerat med zombieprocessen.

Vad är en Zombie-process?

En zombie eller en nedlagd process i Linux är en process som har slutförts, men dess inträde kvarstår i processtabellen på grund av bristande korrespondens mellan föräldra- och barnprocesserna. Vanligtvis kontrollerar en överordnad process statusen för sina underprocesser genom att använda funktionen wait (). När barnprocessen är klar signalerar väntefunktionen föräldern att helt avsluta processen från minnet. Om föräldern misslyckas med att anropa väntefunktionen för några av sina barn, förblir barnprocessen i systemet som en död- eller zombieprocess. Dessa zombieprocesser kan ackumuleras i stort antal på ditt system och påverka dess prestanda.

När du kör det översta kommandot och en zombie körs kommer den att anges av utgångens andra rad på följande sätt:

Men om det inte finns någon zombieprocess på ditt system kan du skapa en dummy för teständamål som beskrivs i den här artikeln. Vi kör den här processen på Ubuntu 18.04.

Skapa en Zombie-process

I det här avsnittet kommer vi att skriva ett c-program för att köra en zombieprocess på vårt system.

Öppna en textredigerare och ange följande kod:

Koda

#omfatta  #omfatta  #omfatta int main () pid_t child_pid; child_pid = fork (); if (child_pid> 0) sleep (60);  annat exit (0);  returnera 0; 

Spara den här filen som zombie.c

Zombieprocessen som skapas genom den här koden kommer att köras i 60 sekunder. Du kan öka tidslängden genom att ange en tid (i sekunder) i funktionen sleep ().

Öppna terminalen och kör följande kommando för att kompilera detta program:

$ cc zombie.c-o zombie

Nu skapas en körbar fil med namnet zombie.

Observera att du måste installera GNU C-kompilatorn om den inte redan är installerad på ditt system med följande kommando:

$ sudo apt-get install build-essential

Kör nu zombieprogrammet genom följande kommando:

./ zombie

Följande utdata visas:

Du kan använda överordnat process-ID (PPID) och underordnat process-ID (PID) under testning; till exempel genom att döda denna zombieprocess genom dödkommandot.

Medan denna process körs kan du visa systemets prestanda i ett annat terminalfönster genom det översta kommandot. Du kommer att kunna se en zombieprocess genom utgångens andra rad.

PS-kommandot kommer nu också att visa denna nedlagda process och zombie-programmet som är ansvarigt för det:

$ ps axo stat, ppid, pid, comm | grep -w avstängd

Detta kommando ger dig tillståndet, parentID, process-ID, programmet som kör zombieprocessen (zombieprogrammet som vi körde i den här självstudien).

Du har nu lärt dig hur man skapar en enkel dummy-zombie-process. Detta ger dig en uppfattning om hur det ser ut på ditt system och hur du kan använda det för teständamål.

Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...
Vulkan för Linux-användare
Med varje ny generation grafikkort ser vi spelutvecklare driva gränserna för grafisk trohet och komma ett steg närmare fotorealism. Men trots all kred...
OpenTTD vs Simutrans
Att skapa din egen transportsimulering kan vara rolig, avkopplande och extremt lockande. Det är därför du måste se till att du testar så många spel so...