schelp

Een dummy zombie-proces maken in Ubuntu 18 Ubuntu.04 LTS

Een dummy zombie-proces maken in Ubuntu 18 Ubuntu.04 LTS

Als softwaretesters moeten we soms weten hoe een zombieproces eruitziet op ons systeem. We kunnen er verschillende tests op uitvoeren als we specifiek weten welk programma en proces-ID aan dat zombieproces is gekoppeld.

Wat is een zombieproces??

Een zombie of een ter ziele gegane proces in Linux is een proces dat is voltooid, maar de invoer blijft nog steeds in de procestabel vanwege gebrek aan overeenstemming tussen de bovenliggende en onderliggende processen. Gewoonlijk houdt een bovenliggend proces de status van zijn onderliggende processen in de gaten via de functie wait(). Wanneer het onderliggende proces is voltooid, geeft de wachtfunctie de ouder een signaal om het proces volledig uit het geheugen te verlaten. Als de ouder echter de wachtfunctie voor een van zijn kinderen niet aanroept, blijft het onderliggende proces in het systeem levend als een dood- of zombieproces. Deze zombieprocessen kunnen zich in grote aantallen op uw systeem ophopen en de prestaties beïnvloeden.

Wanneer u de opdracht top uitvoert en er is een zombie actief, wordt dit als volgt aangegeven door de tweede regel van de uitvoer:

Als er echter geen zombieproces op uw systeem draait, kunt u een dummy maken voor testdoeleinden zoals beschreven in dit artikel. We voeren dit proces uit op Ubuntu 18.04.

Een zombie-proces creëren

In deze sectie zullen we een c-programma schrijven om een ​​zombieproces op ons systeem uit te voeren.

Open een teksteditor en voer de volgende code in:

Code

#include  #include  #include int main ()  pid_t child_pid;child_pid = fork (); if (child_pid > 0)  slaap (60);  anders  afsluiten (0);  retourneer 0; 

Sla dit bestand op als zombie.c

Het zombieproces dat met deze code is gemaakt, duurt 60 seconden. U kunt de tijdsduur verlengen door een tijd (in seconden) op te geven in de slaap()-functie.

Open de Terminal en voer de volgende opdracht uit om dit programma te compileren:

$ cc zombie.c -o zombie

Nu wordt een uitvoerbaar bestand met de naam zombie gemaakt.

Houd er rekening mee dat u de GNU C-compiler moet installeren als deze nog niet op uw systeem is geïnstalleerd via de volgende opdracht:

$ sudo apt-get install build-essentieel

Voer nu het zombieprogramma uit via de volgende opdracht:

./zombie

U ziet de volgende uitvoer:

U kunt tijdens het testen de bovenliggende proces-ID (PPID) en de onderliggende proces-ID (PID) gebruiken; bijvoorbeeld door dit zombieproces te doden via het kill-commando.

Terwijl dit proces wordt uitgevoerd, kunt u de systeemprestaties in een ander Terminal-venster bekijken via de opdracht top. Je zult in staat zijn om 1 zombieproces te zien via de tweede regel van de uitvoer.

Het ps-commando toont nu ook dit ter ziele gegane proces en het zombieprogramma dat ervoor verantwoordelijk is:

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

Deze opdracht geeft je de staat, parentID, de proces-ID, het programma dat het zombieproces uitvoert (het zombieprogramma dat we in deze tutorial hebben uitgevoerd).

Je hebt nu geleerd hoe je een eenvoudig dummy-zombieproces maakt. Dit geeft u een idee van hoe het eruitziet op uw systeem en hoe u het kunt gebruiken voor testdoeleinden.

Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...
Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...