Shell

Ako vytvoriť fiktívny proces zombie v Ubuntu 18.04 LTS

Ako vytvoriť fiktívny proces zombie v Ubuntu 18.04 LTS

Ako testeri softvéru niekedy potrebujeme vedieť, ako vyzerá proces zombie v našom systéme. Môžeme na ňom spustiť rôzne testy, ak konkrétne vieme, ktoré ID programu a procesu je spojené s týmto zombie procesom.

Čo je proces zombie?

Zombie alebo zaniknutý proces v systéme Linux je proces, ktorý bol dokončený, ale jeho záznam stále zostáva v tabuľke procesov z dôvodu chýbajúcej korešpondencie medzi nadradeným a podradeným procesom. Nadradený proces zvyčajne kontroluje stav svojich podradených procesov pomocou funkcie wait (). Keď je podradený proces dokončený, funkcia čakania signalizuje rodičovi, aby proces úplne ukončil z pamäte. Ak však rodič nedokáže vyvolať funkciu čakania pre žiadne zo svojich potomkov, podradený proces zostane v systéme nažive ako mŕtvy alebo zombie proces. Tieto procesy zombie sa môžu vo vašom systéme hromadiť vo veľkom množstve a ovplyvňovať jeho výkon.

Keď spustíte horný príkaz a je spustený zombie, bude to označené druhým riadkom výstupu nasledovne:

Ak však vo vašom systéme nebeží žiadny proces zombie, môžete vytvoriť figurínu na účely testovania, ako je popísané v tomto článku. Tento proces používame v systéme Ubuntu 18.04.

Vytvorenie procesu zombie

V tejto časti napíšeme program c na spustenie procesu zombie v našom systéme.

Otvorte textový editor a zadajte nasledujúci kód:

Zákonníka

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

Uložte tento súbor ako zombie.c

Proces zombie vytvorený pomocou tohto kódu bude trvať 60 sekúnd. Čas môžete predĺžiť zadaním času (v sekundách) vo funkcii sleep ().

Otvorte terminál a spustite nasledujúci príkaz na zostavenie tohto programu:

$ cc zombie.c -o zombie

Teraz sa vytvorí spustiteľný súbor s menom zombie.

Vezmite prosím na vedomie, že budete musieť nainštalovať kompilátor GNU C, ak už nie je nainštalovaný vo vašom systéme pomocou nasledujúceho príkazu:

$ sudo apt-get install build-essential

Teraz spustite program zombie pomocou nasledujúceho príkazu:

./ zombie

Uvidíte nasledujúci výstup:

Počas testovania môžete použiť ID rodičovského procesu (PPID) a ID dieťaťa (PID); napríklad zabitím tohto zombie procesu pomocou príkazu kill.

Keď je tento proces spustený, výkon systému môžete zobraziť v inom okne terminálu pomocou horného príkazu. Cez druhý riadok výstupu budete môcť vidieť 1 proces zombie.

Príkaz ps teraz tiež zobrazí tento zaniknutý proces a zaň zodpovedný zombie program:

$ ps axo stat, ppid, pid, komunikácia | grep -w zaniknutý

Tento príkaz vám poskytne štát, ID rodiča, ID procesu, program, na ktorom je spustený proces zombie (program zombie, ktorý sme spustili v tomto výučbe).

Teraz ste sa naučili, ako vytvoriť jednoduchý fiktívny proces zombie. Získate tak predstavu o tom, ako to vyzerá vo vašom systéme a ako ho môžete použiť na testovacie účely.

Hry Ako vyvíjať hru v systéme Linux
Ako vyvíjať hru v systéme Linux
Pred desiatimi rokmi by len málo používateľov Linuxu predpovedalo, že ich obľúbený operačný systém bude jedného dňa populárnou hernou platformou pre k...
Hry Open source porty komerčných herných strojov
Open source porty komerčných herných strojov
Na hranie starých i niektorých z nedávnych herných titulov je možné využiť bezplatné hry s otvoreným zdrojom a multiplatformové herné enginy. V tomto ...
Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...