Pajisje

Çfarë shkakton “Zombie Processes” në Linux?


Programet që janë të shkruara dobët ose performojnë keq mund të lënë procese zombie që fshihen brenda kompjuterit tuaj Linux.

Një “parent process” i shkruar keq mund të mos e therte funksionin “wait()” kur krijohet procesi i fëmijës. Kjo do të thotë se asgjë nuk po shikon ndryshimet e gjendjes në procesin e fëmijës dhe sinjali “SIGCHLD” do të injorohet. Ose, ndoshta një aplikacion tjetër po ndikon në ekzekutimin e procesit prind, qoftë për shkak të programimit të dobët ose qëllimit të keq.

Sidoqoftë, nëse procesi prindëror nuk po shikon ndryshimet e gjendjes në procesin e fëmijës, mirëmbajtja e duhur e sistemit nuk do të ndodhë. PCB dhe hyrja në tabelën e procesit nuk do të hiqen kur procesi i fëmijës përfundon. Kjo rezulton në gjendjen zombie të mos hiqet kurrë nga PCB.

Zombitë përdorin pak kujtesë, por ato zakonisht nuk paraqesin problem. Hyrja në tabelën e procesit është e vogël, por, derisa të lëshohet, ID-ja e procesit nuk mund të ripërdoret. Në një sistem operativ 64-bit, kjo nuk ka gjasa të shkaktojë ndonjë problem sepse PCB është shumë më e madhe se hyrja në tryezë e procesit.

Një numër i madh i zombies, me sa duket, mund të ndikojë në sasinë e kujtesës që është e lirë për proceset e tjera. Nëse keni kaq shumë zombie, megjithatë, keni një problem serioz me aplikacionin prind ose një defekt në sistemin operativ.

/Albanianpost.com


Lajmet kryesore