Školjka

Kako ustvariti lažni postopek zombija v Ubuntu 18.04 LTS

Kako ustvariti lažni postopek zombija v Ubuntu 18.04 LTS

Kot preizkuševalci programske opreme moramo včasih vedeti, kako zombi postopek izgleda v našem sistemu. Na njem lahko izvajamo različne teste, če natančno vemo, kateri program in ID procesa je povezan s tem zombi procesom.

Kaj je postopek zombija?

Zombi ali neaktiven proces v Linuxu je postopek, ki je bil končan, vendar njegov vnos še vedno ostaja v tabeli procesov zaradi pomanjkanja korespondence med nadrejenim in nadrejenim procesom. Ponavadi nadrejeni postopek nadzoruje stanje svojih podrejenih procesov s pomočjo funkcije wait (). Ko je podrejeni postopek končan, funkcija čakanja staršu sporoči, da popolnoma izstopi iz pomnilnika. Če pa starš ne pokliče funkcije čakanja za katerega koli od svojih otrok, ostane podrejeni proces v sistemu živ kot mrtvi ali zombi proces. Ti zombi procesi se lahko v vašem sistemu kopičijo v velikem številu in vplivajo na njegovo delovanje.

Ko zaženete zgornji ukaz in zaženete zombija, bo to prikazano v drugi vrstici izhoda, kot sledi:

Če pa se v vašem sistemu ne izvaja postopek zombija, lahko ustvarite preskusno lutko za namene testiranja, kot je opisano v tem članku. Ta postopek izvajamo na Ubuntu 18.04.

Ustvarjanje procesa zombija

V tem razdelku bomo napisali c program za zagon zombi procesa v našem sistemu.

Odprite urejevalnik besedil in vnesite naslednjo kodo:

Koda

#include  #include  #include int main () pid_t otrok_pid; otrok_pid = vilice (); if (otrok_pid> 0) spanje (60);  else izhod (0);  vrni 0; 

Shranite to datoteko kot zombi.c

Zombi postopek, ustvarjen s to kodo, bo potekal 60 sekund. Čas lahko podaljšate tako, da v funkciji spanja () določite čas (v sekundah).

Odprite terminal in zaženite naslednji ukaz za prevajanje tega programa:

$ cc zombi.c -o zombi

Zdaj bo ustvarjena izvršljiva datoteka z imenom zombi.

Upoštevajte, da boste morali namestiti prevajalnik GNU C, če v vašem sistemu že ni nameščen z naslednjim ukazom:

$ sudo apt-get install build-bistvenega pomena

Zdaj zaženite program zombie z naslednjim ukazom:

./ zombi

Videli boste naslednji izhod:

Med preskušanjem lahko uporabite nadrejeni ID procesa (PPID) in podrejeni ID procesa (PID); na primer z ubijanjem tega procesa zombija z ukazom kill.

Medtem ko se ta postopek izvaja, si lahko prek zgornjega ukaza ogledate zmogljivost sistema v drugem oknu terminala. Skozi drugo vrstico izhoda boste lahko videli 1 postopek zombija.

Ukaz ps bo zdaj prikazal tudi ta neaktiven postopek in zombi program, odgovoren zanj:

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

Ta ukaz vam bo dal stanje, nadrejeni ID, ID procesa, program, ki izvaja postopek zombi (zombi program, ki smo ga izvajali v tej vadnici).

Zdaj ste se naučili, kako ustvariti preprost lažni postopek zombija. To vam bo dalo predstavo o tem, kako izgleda v vašem sistemu in kako ga lahko uporabite za namene testiranja.

Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...
Najboljše igre ukazne vrstice za Linux
Ukazna vrstica ni le vaš največji zaveznik pri uporabi Linuxa - lahko je tudi vir zabave, saj jo lahko uporabljate za igranje številnih zabavnih iger,...