januar 14, 2022

VITUX

 Lag dummy zombie prosess I Ubuntu

som programvare testere, vi noen ganger trenger å vite hvordan en zombie prosessen ser ut på systemet vårt. Vi kan kjøre ulike tester på det hvis vi vet spesifikt hvilket program OG prosess-ID som er knyttet til den zombieprosessen.

Hva er En Zombie Prosess?

en zombie eller en nedlagt prosess I Linux er en prosess som er fullført, men oppføringen er fortsatt i prosesstabellen på grunn av manglende korrespondanse mellom foreldre og barn prosesser. Vanligvis holder en overordnet prosess en kontroll på status for sine underordnede prosesser gjennom vent () – funksjonen. Når barneprosessen er ferdig, signaliserer ventefunksjonen foreldrene for å avslutte prosessen helt fra minnet. Men hvis foreldrene ikke ringer ventefunksjonen for noen av sine barn, forblir barneprosessen levende i systemet som en død eller zombieprosess. Disse zombie prosesser kan akkumulere, i stort antall, på systemet og påvirke ytelsen.

når du kjører toppkommandoen og en zombie kjører, vil den bli indikert av den andre linjen i utgangen som følger:

Zombie prosess vist i toppkommandoen

Men hvis det ikke er noen zombie prosess som kjører på systemet ditt, kan du lage en dummy for testformål som beskrevet i denne artikkelen. Vi kjører denne prosessen På Ubuntu 18.04.

Opprette En Zombie-Prosess

i denne delen vil vi skrive et c-program for å kjøre en zombieprosess på systemet vårt.

Åpne en tekstredigerer og skriv inn følgende kode:

Kode

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

Lagre denne filen som zombie.c

zombie prosessen opprettet gjennom denne koden vil kjøre i 60 sekunder. Du kan øke tidsvarigheten ved å angi en tid (i sekunder) i hvilemodus () – funksjonen.

Åpne Terminalen og kjør følgende kommando for å kompilere dette programmet:

$ cc zombie.c -o zombie

Nå vil en kjørbar fil med navnet zombie bli opprettet.

vær oppmerksom på AT DU må installere GNU c-kompilatoren hvis DEN ikke allerede er installert på systemet ditt via følgende kommando:

$ sudo apt-get install build-essential

kjør nå zombie-programmet gjennom følgende kommando:

./zombie

du vil se følgende utgang:

Utdata av zombie fil

Du kan bruke parent PROCESS ID (PPID) og child PROCESS ID (pid) under testing; for eksempel ved å drepe denne zombie prosessen gjennom kill kommandoen.

mens denne prosessen kjører, kan du vise systemytelsen i et Annet Terminalvindu via toppkommandoen. Du vil kunne se 1 zombie prosess gjennom den andre linjen av utgangen.

ps-kommandoen vil nå også vise denne nedlagte prosessen og zombieprogrammet som er ansvarlig for det:

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

resultat av ps-kommandoen

denne kommandoen vil gi deg staten, parentID, PROSESS-ID, programmet som kjører zombie-prosessen (zombie-programmet som vi kjørte i denne opplæringen).

Du har nå lært å lage en enkel dummy zombie prosess. Dette vil gi deg en ide om hvordan det ser ut på systemet ditt og hvordan du kan bruke det til testformål.

Hvordan Lage En Dummy Zombie Prosess I Ubuntu 18.04 LTS

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.