január 14, 2022

VITUX

Create dummy zombi folyamat Ubuntu

mint szoftver tesztelők, néha meg kell tudni, hogy egy zombi folyamat néz ki, mint a rendszer. Különböző teszteket futtathatunk rajta, ha pontosan tudjuk, hogy melyik program és folyamatazonosító kapcsolódik ehhez a zombi folyamathoz.

mi a zombi folyamat?

a zombi vagy egy megszűnt folyamat Linuxban olyan folyamat, amely befejeződött, de a bejegyzése továbbra is a folyamattáblában marad, mivel a szülő és a gyermek folyamatok nem felelnek meg. Általában a szülő folyamat ellenőrzi a gyermekfolyamatok állapotát a wait () függvényen keresztül. Amikor a gyermekfolyamat befejeződött, a várakozás funkció jelzi a szülőnek, hogy teljesen kilépjen a folyamatból a memóriából. Ha azonban a szülő egyik gyermekének sem hívja meg a várakozási funkciót, akkor a gyermekfolyamat halott vagy zombi folyamatként életben marad a rendszerben. Ezek a zombi folyamatok nagy számban felhalmozódhatnak a rendszeren, és befolyásolhatják annak teljesítményét.

amikor a felső parancsot futtatja, és egy zombi fut, azt a kimenet második sora jelzi az alábbiak szerint:

Zombie folyamat látható felső parancs

ha azonban nincs zombi folyamat fut a rendszeren, létrehozhat egy próbabábut tesztelési célokra a cikkben leírtak szerint. Ezt a folyamatot Ubuntu 18.04-en futtatjuk.

Zombifolyamat létrehozása

ebben a részben egy C programot fogunk írni egy zombi folyamat futtatására a rendszerünkön.

nyisson meg egy szövegszerkesztőt, és írja be a következő kódot:

Kód

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

mentse el ezt a fájlt zombiként.c

az ezzel a kóddal létrehozott zombi folyamat 60 másodpercig fut. Az időtartamot növelheti az alvás () funkcióban megadott idő (másodpercben) megadásával.

nyissa meg a terminált, és futtassa a következő parancsot a program lefordításához:

$ cc zombie.c -o zombie

most létrejön egy zombie nevű futtatható fájl.

kérjük, vegye figyelembe, hogy telepítenie kell a GNU C fordítót, ha az még nincs telepítve a rendszerére a következő paranccsal:

$ sudo apt-get install build-essential

most futtassa a zombi programot a következő paranccsal:

./zombie

a következő kimenetet fogja látni:

a

zombifájl kimenete a tesztelés során használhatja a szülő folyamatazonosítót (PPID) és a gyermek folyamatazonosítót (PID); például a zombi folyamat megölésével a kill paranccsal.

amíg ez a folyamat fut, a felső parancs segítségével megtekintheti a rendszer teljesítményét egy másik terminálablakban. Ön képes lesz arra, hogy 1 zombi folyamat a második sorban a kimenet.

a ps parancs most megmutatja ezt a megszűnt folyamatot és az érte felelős zombi programot is:

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

eredménye ps parancs

ez a parancs megadja az állam, parentID, a folyamat azonosítója, a program, amely fut a zombi folyamat (a zombi program, amit futott ez a bemutató).

most megtanulta, hogyan kell létrehozni egy egyszerű dummy zombi folyamatot. Ez képet ad arról, hogyan néz ki a rendszerén, és hogyan használhatja tesztelési célokra.

Hogyan hozzunk létre egy Dummy zombi folyamat Ubuntu 18.04 LTS

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.