Kest

Kuidas luua näiv zombiprotsess Ubuntu 18-s.04 LTS

Kuidas luua näiv zombiprotsess Ubuntu 18-s.04 LTS

Tarkvaratestijatena peame mõnikord teadma, kuidas zombiprotsess meie süsteemis välja näeb. Saame sellel erinevaid teste teha, kui teame konkreetselt, milline programm ja protsessi ID on selle zombiprotsessiga seotud.

Mis on zombie protsess?

Zombie või kadunud protsess Linuxis on protsess, mis on küll lõpule viidud, kuid selle sisestus jääb ikkagi protsessitabelisse, kuna vanema ja lapse protsesside vastavus puudub. Tavaliselt kontrollib vanemprotsess oma lapse protsesside olekut funktsiooni wait () kaudu. Kui lapseprotsess on lõppenud, annab ootefunktsioon vanemale märku protsessist mälust täielikult väljumiseks. Kui aga vanem ei kutsu oma lapse ootefunktsiooni, jääb lapseprotsess elus surnud või zombiprotsessina. Need zombiprotsessid võivad teie süsteemi koguneda suures koguses ja mõjutada selle toimivust.

Kui käivitate ülemise käsu ja töötab zombie, tähistab seda väljundi teine ​​rida järgmiselt:

Kui aga teie süsteemis ei käi zombiprotsess, saate testimiseks luua mannekeeni, nagu on kirjeldatud selles artiklis. Käivitame selle protsessi Ubuntu 18-s.04.

Zombie-protsessi loomine

Selles osas kirjutame programmi c, et käivitada meie süsteemis zombiprotsess.

Avage tekstiredaktor ja sisestage järgmine kood:

Kood

# kaasata  # kaasata  # kaasata int main () pid_t laps_pid; laps_pid = kahvel (); kui (laps_pid> 0) uni (60);  else exit (0);  return 0; 

Salvestage see fail zombina.c

Selle koodi abil loodud zombiprotsess kestab 60 sekundit. Aja kestust saate pikendada, määrates une () funktsioonis aja (sekundites).

Selle programmi kompileerimiseks avage terminal ja käivitage järgmine käsk:

$ cc zombie.c -o zombie

Nüüd luuakse käivitatav fail nimega zombie.

Pange tähele, et peate GNU C kompilaatori installima, kui see pole teie süsteemi juba järgmise käsu kaudu installitud:

$ sudo apt-get install build-essential

Nüüd käivitage zombie-programm järgmise käsu kaudu:

./ zombie

Näete järgmist väljundit:

Testimise ajal saate kasutada vanemprotsessi ID-d (PPID) ja alamprotsessi ID-d (PID); näiteks tapes selle zombiprotsessi läbi käsu kill.

Selle protsessi käigus saate ülemise käsu kaudu vaadata süsteemi jõudlust teises terminali aknas. Väljundi teise rea kaudu saate näha ühte zombiprotsessi.

PS-käsk näitab nüüd ka seda kadunud protsessi ja selle eest vastutavat zombiprogrammi:

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

See käsk annab teile oleku, parentID, protsessi ID, programmi, mis töötab zombie-protsessis (selles õpetuses käivitatud zombiprogramm).

Nüüd olete õppinud, kuidas luua lihtsat näiv zombiprotsessi. Nii saate aimu, kuidas see teie süsteemis välja näeb ja kuidas saate seda testimiseks kasutada.

10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...
5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...