Héj

Hogyan hozzunk létre egy próbabábu folyamatot az Ubuntu 18-ban.04 LTS

Hogyan hozzunk létre egy próbabábu folyamatot az Ubuntu 18-ban.04 LTS

Szoftvertesztelőként néha tudnunk kell, hogy néz ki egy zombi folyamat a rendszerünkön. Különböző teszteket futtathatunk rajta, ha pontosan tudjuk, hogy melyik program és folyamat azonosítója van társítva az adott zombi folyamathoz.

Mi a zombi folyamat?

A zombi vagy a Linuxban egy megszűnt folyamat egy folyamat, amely befejeződött, de a bejegyzése továbbra is a folyamat táblában marad, mivel a szülő és a gyermek közötti megfelelés hiányzik. Általában a szülői folyamat a wait () függvényen keresztül ellenőrzi gyermekfolyamatainak állapotát. Amikor a gyermek folyamat befejeződött, a várakozás funkció jelzi a szülőnek, hogy teljesen hagyja ki a folyamatot a memóriából. Ha azonban a szülő nem hívja meg a várakozási funkciót egyik gyermeke számára sem, 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 legfelső parancsot futtatja, és egy zombi fut, akkor azt a kimenet második sora jelzi az alábbiak szerint:

Ha azonban a rendszerén nem fut zombi folyamat, létrehozhat egy próbabábut tesztelési célokra, a cikkben leírtak szerint. Ezt a folyamatot futtatjuk az Ubuntu 18-on.04.

Zombie-folyamat létrehozása

Ebben a részben írunk egy c programot 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  #include  #include int main () pid_t child_pid; child_pid = villa (); if (gyermek_pid> 0) alvás (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 fog futni. Növelheti az időtartamot, ha megad egy időt (másodpercben) az alvás () funkcióban.

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

$ cc zombi.c -o zombi

Most egy futtatható fájl jön létre zombi néven.

Kérjük, vegye figyelembe, hogy a GNU C fordítót telepítenie kell, ha még nem telepítette a rendszerre a következő paranccsal:

$ sudo apt-get install build-essential

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

./zombi

A következő kimenetet fogja látni:

A tesztelés során használhatja a szülői folyamat azonosítóját (PPID) és a gyermek folyamat azonosítóját (PID); például e zombi folyamat megölésével a kill paranccsal.

Amíg ez a folyamat fut, megtekintheti a rendszer teljesítményét egy másik terminálablakban a felső paranccsal. A kimenet második során keresztül 1 zombi folyamatot láthat.

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

$ ps axo stat, ppid, pid, comm | grep -w megszűnt

Ez a parancs megadja az állapotot, parentID-t, a folyamatazonosítót, a zombi folyamatot futtató programot (azt a zombi-programot, amelyet ebben az oktatóanyagban futtattunk).

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

Az OSD-fedvény megjelenítése teljes képernyős Linux-alkalmazásokban és játékokban
Teljes képernyős játékok lejátszása vagy alkalmazások figyelemelterelés nélküli, teljes képernyős módban történő használata elvághatja a panelen vagy ...
Az 5 legjobb játékrögzítő kártya
Mindannyian láttuk és szerettük a YouTube-on a streaming játékokat. A PewDiePie, a Jakesepticye és a Markiplier csak néhány a legnépszerűbb játékosok ...
Hogyan lehet játékot fejleszteni Linuxon
Egy évtizeddel ezelőtt nem sok Linux-felhasználó jósolta, hogy kedvenc operációs rendszerük egy napon a videojátékok népszerű játékplatformja lesz. El...