Kriauklė

Kaip sukurti fiktyvų zombių procesą „Ubuntu 18“.04 LTS

Kaip sukurti fiktyvų zombių procesą „Ubuntu 18“.04 LTS

Būdami programinės įrangos testuotojai, kartais turime žinoti, kaip zombių procesas atrodo mūsų sistemoje. Mes galime atlikti įvairius bandymus, jei tiksliai žinome, kuri programa ir proceso ID yra susieti su tuo zombių procesu.

Kas yra zombių procesas?

„Zombie“ arba neveikiantis „Linux“ procesas yra procesas, kuris buvo baigtas, tačiau jo įrašas vis tiek lieka proceso lentelėje, nes trūksta tėvų ir vaikų procesų atitikimo. Paprastai tėvų procesas tikrina savo vaiko procesų būseną per laukimo () funkciją. Baigus vaiko procesą, laukimo funkcija signalizuoja tėvus visiškai išeiti iš atminties. Tačiau jei tėvas nesugeba iškviesti nė vieno savo vaiko laukimo funkcijos, vaiko procesas sistemoje lieka gyvas kaip negyvas ar zombių procesas. Šie zombių procesai gali kauptis jūsų sistemoje ir turėti įtakos jos veikimui.

Kai paleidžiate viršutinę komandą ir veikia zombis, tai bus nurodyta antroje išvesties eilutėje taip:

Tačiau jei jūsų sistemoje nevyksta zombių procesas, galite sukurti manekeną bandymų tikslais, kaip aprašyta šiame straipsnyje. Šį procesą vykdome „Ubuntu 18“.04.

Zombių proceso sukūrimas

Šiame skyriuje parašysime c programą, kad paleistume zombių procesą mūsų sistemoje.

Atidarykite teksto rengyklę ir įveskite šį kodą:

Kodas

# įtraukti  # įtraukti  # įtraukti int main () pid_t child_pid; child_pid = šakutė (); if (vaikas_pid> 0) miegas (60);  else exit (0);  grąžinti 0; 

Išsaugokite šį failą kaip zombį.c

Naudojant šį kodą sukurtas zombių procesas veiks 60 sekundžių. Laiko trukmę galite padidinti nurodydami laiką (sekundėmis) miego () funkcijoje.

Atidarykite terminalą ir paleiskite šią komandą, kad sukompiluotumėte šią programą:

$ cc zombis.c -o zombis

Dabar bus sukurtas vykdomasis failas, pavadintas zombiu.

Atminkite, kad turėsite įdiegti GNU C kompiliatorių, jei jis dar nėra įdiegtas jūsų sistemoje naudodamas šią komandą:

$ sudo apt-get install build-essential

Dabar paleiskite zombių programą naudodami šią komandą:

./ zombis

Pamatysite tokį išėjimą:

Testavimo metu galite naudoti pirminio proceso ID (PPID) ir antrinio proceso ID (PID); pavyzdžiui, nužudydamas šį zombių procesą naudodamas komandą „kill“.

Kol šis procesas vyksta, galite peržiūrėti sistemos veikimą kitame „Terminal“ lange naudodami viršutinę komandą. Antroje išvesties eilutėje galėsite pamatyti 1 zombių procesą.

Komanda ps dabar taip pat parodys šį neveikiantį procesą ir už jį atsakingą zombių programą:

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

Ši komanda suteiks jums būseną, parentID, proceso ID, programą, kurioje vykdomas zombių procesas (zombių programa, kurią vykdėme šioje pamokoje).

Dabar jūs išmokote sukurti paprastą manekeno zombių procesą. Tai suteiks jums idėją, kaip ji atrodo jūsų sistemoje ir kaip galite ją naudoti bandymų tikslais.

Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...
„WinMouse“ leidžia tinkinti ir pagerinti pelės žymeklio judėjimą „Windows“ kompiuteryje
Jei norite pagerinti numatytąsias pelės žymiklio funkcijas, naudokite nemokamą programinę įrangą „WinMouse“. Tai prideda daugiau funkcijų, kurios padė...
Pelės kairiuoju pelės mygtuku mygtukas neveikia „Windows 10“
Jei naudojate specialią pelę su savo nešiojamuoju kompiuteriu arba staliniu kompiuteriu, tačiau neveikia pelės kairysis mygtukas dėl tam tikrų priežas...