lt.phhsnews.com


lt.phhsnews.com / Kas yra "zombių procesas" "Linux"?

Kas yra "zombių procesas" "Linux"?


Jei esate "Linux" vartotojas, galbūt matėte zombių procesus, kuriuose yra jūsų procesų sąrašo. Jūs negalite užmušti zombių proceso, nes jis jau miręs - kaip tikrasis zombius.

Zombiai iš esmės yra likę beprotiški procesai, kurie nebuvo išvalyti tinkamai. Programa, sukurianti zombių procesus, nėra tinkamai užprogramuotas - programose neleidžiama leisti zombių procesų.

Image Credit: Daniel Hollister dėl Flickr (Remixed)

Kas yra zombių procesas?

Suprasti koks yra zombių procesas ir kas sukelia zombių procesus, turėsite šiek tiek suprasti, kaip procesai veikia "Linux".

Kai procesas miršta "Linux", tai ne viskas iš karto pašalinama iš atminties - tai procesas deskriptorius lieka atmintis (proceso deskriptorius užima tik mažą atminties kiekį). Proceso būsena tampa EXIT_ZOMBIE ir proceso tėvas yra informuotas, kad jo vaikas procesas mirė su SIGCHLD signalu. Tada tėvinis procesas turėtų atlikti "wait ()" sistemos skambutį, kad būtų galima perskaityti neveikos proceso pabaigos būseną ir kitą informaciją. Tai leidžia tėvų procesui gauti informaciją iš neveikimo proceso. Po to, kai laukiama laukimo (), zombių procesas visiškai pašalinamas iš atminties.

Tai paprastai vyksta labai greitai, todėl nematysite, kaip jūsų sistemoje kaupiasi zombių procesai. Tačiau, jei tėvų procesas nėra tinkamai užprogramuotas ir niekada nekelia skambučių laukti (), jo zombių vaikai prisilies prie atminties, kol jie bus išvalyti.

Įrankiai, tokie kaip GNOME sistemos monitorius, viršuje komandą ir ps komandų ekrano zombių procesus.

Zombių procesų grėsmės

Zombių procesai nenaudoja jokių sistemos išteklių. (Tiesą sakant, kiekvienas naudoja labai mažą sistemos atminties kiekį, kad galėtų saugoti proceso deskriptorių.) Tačiau kiekvienas zombių procesas išlaiko savo proceso ID (PID). Linux sistemos turi ribotą proceso ID skaičių - 32767 pagal nutylėjimą 32 bitų sistemose. Jei zombiai kaupiasi labai greitai - pavyzdžiui, jei netinkamai programuojama serverio programinė įranga sukuria zombių procesus pagal apkrovą, visas turimų PID rinkinys galiausiai bus priskirtas zombių procesams, trukdant paleisti kitus procesus.

Tačiau kai kurie zombių procesai užkliuvę nėra problemos, nors jie rodo, kad jūsų sistemoje yra tavo proceso klaida.

Atsikratymas nuo zombių procesų

Negalite nužudyti zombių procesų, nes galite nužudyti normalius procesus su SIGKILL signalas - zombių procesai jau mirę. Turėkite omenyje, kad jums nereikia atsikratyti zombių procesų, nebent jūsų sistemoje yra didelis kiekis - keli zombiai yra nekenksmingi. Tačiau yra keli būdai, kaip galite atsikratyti zombių procesų.

Vienas iš būdų yra išsiųsti signalą SIGCHLD tėvų procesui. Šis signalas nurodo tėvų procesui vykdyti sistemos skambutį () ir išvalyti zombių vaikus. Žemiau esančioje komandoje siųskite signalą su komanda kill , pakeisdami pid su tėvų proceso PID:

kill -s SIGCHLD pid

Tačiau jei tėvų procesas yra isn Tvarkingai užprogramuotas ir ignoruojamas SIGCHLD signalas, tai nepadės. Turėsite nužudyti ar uždaryti zombių tėvų procesą. Kai procesas, kuris sukūrė zombius, baigiasi, Init paveldi zombių procesus ir tampa jų naujais tėvais. (init yra pirmasis procesas, kuris prasideda "Linux" paleidžiant ir yra priskirtas PID 1.) init periodiškai atlieka laukimo () sistemos skambutį, kad išvalytų zombių vaikus, todėl init bus trumpas zombių darbas. Galite iš naujo paleisti tėvų procesą, uždarę jį.

Jei tėvų procesas toliau kuria zombius, jis turi būti nustatytas taip, kad ji tinkamai paskambintų laukti (), kad sugrąžintų zombių vaikus. Įveskite pranešimą apie klaidą, jei jūsų sistemoje programa sukuria zombius.


Ar PNG formatas nesikeičia, nes jis turi kompresijos parametrą?

Ar PNG formatas nesikeičia, nes jis turi kompresijos parametrą?

PNG formatas turėtų būti be nuostolių formatas, bet kai išsaugote vaizdą kaip PNG failą, jūsų prašoma Pasirinkite suspaudimo lygį. Ar tai reiškia, kad PNG formatas iš tikrųjų yra be nuostolių? Šiandienos "SuperUser" Q & A žinutė padeda išsiaiškinti įdomų skaitytojos painiavą. Šiandienos klausimų ir atsakymų sesija ateina pas mus su "SuperUser" - "Stack Exchange", bendruomenės pagrįstos Q & A svetainių grupės dalimi.

(how-to)

Kaip pasirinkti geriausią debesies paslaugą jūsų poreikiams ir įrenginiams

Kaip pasirinkti geriausią debesies paslaugą jūsų poreikiams ir įrenginiams

Debesys yra visur, o kartu ir daugybė paslaugų ir produktų, iš kurių daugelis vidutinis vartotojas netgi neturi suvokti Tačiau "cloud storage" tikrai yra kažkas, kad beveik visi naudoja, taigi, kokia manoma, kad tai geriausia tau? Visais tikslais yra tik keturios debesų saugojimo paslaugos, kurias rimtai svarstome: "Dropbox", "OneDrive", "Google" "Drive" ir "Apple iCloud".

(how-to)