14 ledna, 2022

VITUX

 Vytvořte fiktivní zombie proces v Ubuntu

jako testery softwaru 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 spojen s tímto procesem 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 procesní tabulce kvůli nedostatečné korespondenci mezi nadřazenými a podřízenými procesy. Nadřazený proces obvykle kontroluje stav svých podřízených procesů pomocí funkce wait (). Po dokončení podřízeného procesu signalizuje funkce wait rodiči úplné ukončení procesu z paměti. Pokud však rodič nezavolá funkci wait pro žádné ze svých dětí, dětský proces zůstává v systému naživu jako mrtvý nebo zombie proces. Tyto zombie procesy se mohou hromadit ve velkém počtu ve vašem systému a ovlivnit jeho výkon.

při spuštění horního příkazu a spuštění zombie bude označen druhým řádkem výstupu následovně:

Zombie proces zobrazený v horním příkazu

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

vytvoření Zombie procesu

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

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

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

Uložte tento soubor jako zombie.c

zombie proces vytvořený pomocí tohoto kódu poběží po dobu 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 pro 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 kompilátor 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

zobrazí se následující výstup:

výstup zombie souboru

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 zombie procesu pomocí příkazu kill.

zatímco je tento proces spuštěn, můžete zobrazit výkon systému v jiném okně terminálu pomocí horního příkazu. Budete mít možnost vidět 1 zombie proces přes druhý řádek výstupu.

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

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

výsledek příkazu ps

tento příkaz vám poskytne stav, parentID, ID procesu, program, který spouští proces zombie (program zombie, který jsme spustili v tomto tutoriálu).

nyní jste se naučili, jak vytvořit jednoduchý fiktivní zombie proces. To vám dá představu o tom, jak to vypadá na vašem systému a jak jej můžete použít pro účely testování.

jak vytvořit fiktivní Zombie proces v Ubuntu 18.04 LTS

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.