januari 14, 2022

VITUX

skapa dummy zombie process i Ubuntu

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

Vad är en Zombieprocess?

en zombie eller en nedlagd process i Linux är en process som har slutförts, men dess inträde kvarstår fortfarande i processtabellen på grund av bristande korrespondens mellan föräldra-och barnprocesserna. Vanligtvis håller en föräldraprocess en kontroll över statusen för sina barnprocesser genom funktionen vänta (). När barnprocessen är klar signalerar väntefunktionen föräldern att helt avsluta processen från minnet. Men om föräldern misslyckas med att ringa väntefunktionen för något av sina barn, förblir barnprocessen levande 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 med den andra raden i utmatningen enligt följande:

Zombie process visas i översta kommandot

men om det inte finns någon zombie process som körs på ditt system, kan du skapa en dummy för teständamål som beskrivs i den här artikeln. Vi kör denna process 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 zombie-process på vårt system.

öppna en textredigerare och ange följande kod:

kod

#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;}

spara den här filen som zombie.C

zombieprocessen som skapas genom denna kod körs i 60 sekunder. Du kan öka tidslängden genom att ange en tid(i sekunder) i sleep () – funktionen.

ö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 genom följande kommando:

$ sudo apt-get install build-essential

kör nu zombieprogrammet genom följande kommando:

./zombie

du kommer att se följande utgång:

produktionen av zombie fil

du kan använda den överordnade processen ID (PPID) och Barn process ID (PID) under testning; till exempel genom att döda denna zombie process genom kommandot döda.

medan den här processen körs kan du visa systemets prestanda i ett annat terminalfönster genom det övre kommandot. Du kommer att kunna se 1 zombie process genom den andra raden av utgången.

ps-kommandot kommer nu också att visa denna nedlagda process och zombieprogrammet som ansvarar för det:

$ ps axo stat,ppid,pid,comm | grep -w defunct

resultatet av ps kommando

detta kommando kommer att ge dig staten, parentID, processen ID, det program som kör zombie processen (zombie program som vi körde i den här guiden).

du har nu lärt dig hur du 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 skapar en Dummy Zombie Process i Ubuntu 18.04 LTS

Lämna ett svar

Din e-postadress kommer inte publiceras.