Shell

Jak vytvořit fiktivní proces zombie v Ubuntu 18.04 LTS

Jak vytvořit fiktivní proces zombie v Ubuntu 18.04 LTS

Jako softwaroví testeři někdy potřebujeme vědět, jak vypadá zombie proces v našem systému. Můžeme na něm spustit různé testy, pokud víme konkrétně, který program a ID procesu je přidružen k tomuto procesu zombie.

Co je to Zombie proces?

Zombie nebo zaniklý proces v Linuxu je proces, který byl dokončen, ale jeho záznam stále zůstává v tabulce procesů kvůli nedostatečné korespondenci mezi nadřazenými a podřízenými procesy. Obvykle nadřazený proces udržuje kontrolu stavu svých podřízených procesů prostřednictvím funkce wait (). Když je podřízený proces dokončen, funkce čekání signalizuje rodiči, aby proces úplně ukončil z paměti. Pokud se však rodiči nepodaří zavolat funkci čekání pro žádné z jejích podřízených, podřízený proces zůstane v systému naživu jako mrtvý nebo zombie proces. Tyto procesy zombie se mohou hromadit ve velkém počtu ve vašem systému a ovlivňovat jeho výkon.

Když spustíte horní příkaz a běží zombie, bude to označeno druhým řádkem výstupu následovně:

Pokud však ve vašem systému není spuštěn žádný proces zombie, můžete pro účely testování vytvořit figurínu, jak je popsáno v tomto článku. Tento proces provádíme na Ubuntu 18.04.

Vytvoření procesu zombie

V této části napíšeme program c pro spuštění procesu zombie v našem systému.

Otevřete textový editor a zadejte následující kód:

Kód

#zahrnout  #zahrnout  #zahrnout int main () pid_t child_pid; child_pid = vidlice (); if (child_pid> 0) sleep (60);  else exit (0);  návrat 0; 

Uložte tento soubor jako zombie.C

Proces zombie vytvořený prostřednictvím tohoto kódu poběží 60 sekund. Dobu trvání můžete prodloužit zadáním času (v sekundách) ve funkci sleep ().

Otevřete Terminál a spusťte následující příkaz ke kompilaci tohoto programu:

$ cc zombie.c -o zombie

Nyní bude vytvořen spustitelný soubor s názvem zombie.

Vezměte prosím na vědomí, že budete muset nainstalovat překladač GNU C, pokud již není nainstalován ve vašem systému pomocí následujícího příkazu:

$ sudo apt-get install build-essential

Nyní spusťte program zombie pomocí následujícího příkazu:

./ zombie

Uvidíte následující výstup:

Během testování můžete použít ID nadřazeného procesu (PPID) a ID podřízeného procesu (PID); například zabitím tohoto procesu zombie pomocí příkazu kill.

Když je tento proces spuštěn, můžete zobrazit výkon systému v jiném okně Terminálu pomocí horního příkazu. Ve druhém řádku výstupu uvidíte proces 1 zombie.

Příkaz ps nyní také zobrazí tento zaniklý proces a za něj zodpovědný zombie program:

$ ps axo stat, ppid, pid, komunikace | grep -w zaniklý

Tento příkaz vám poskytne stav, ID rodiče, ID procesu, program, který spouští proces zombie (zombie program, který jsme spustili v tomto kurzu).

Nyní jste se naučili, jak vytvořit jednoduchý fiktivní proces zombie. Získáte představu o tom, jak vypadá ve vašem systému a jak jej můžete použít pro účely testování.

Hry Jak stáhnout a přehrát Sid Meier's Civilization VI v systému Linux
Jak stáhnout a přehrát Sid Meier's Civilization VI v systému Linux
Úvod do hry Civilization 6 je moderní pojetí klasického konceptu představeného v sérii her Age of Empires. Myšlenka byla docela jednoduchá; začali bys...
Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...
Hry Vulkan pro uživatele Linuxu
Vulkan pro uživatele Linuxu
S každou novou generací grafických karet vidíme, že vývojáři her posouvají hranice grafické věrnosti a přibližují se k fotorealismu. Ale navzdory vešk...