Om du är en Linux-användare kan du ha sett zombieprocesser som spelar runt din processlista. Du kan inte döda en zombie-process eftersom den redan är död - som en verklig zombie.
Zombies är i grunden de återstående bitarna av döda processer som inte har rengjorts ordentligt. Ett program som skapar zombieprocesser är inte programmerat korrekt - programmen ska inte låta zombieprocesser hålla sig kvar.
Bildkrediter: Daniel Hollister på Flickr (Remixed)
När en process dör på Linux, är den inte alla borttagna direkt från minnet - dess process descriptor stannar i minnet (processbeskrivningen tar bara en liten mängd minne). Processens status blir EXIT_ZOMBIE och processens förälder anmäls att dess barnprocess har dött med SIGCHLD-signalen. Förälderprocessen ska sedan genomföra systemets vänta () för att läsa den döda processens utgångsstatus och annan information. Detta gör det möjligt för förälderprocessen att få information från den döda processen. Efter väntetiden () kallas zombieprocessen helt bort från minnet.
Detta händer normalt väldigt snabbt, så du ser inte zombieprocesser som ackumuleras på ditt system. Om en föräldraprocess inte programmeras ordentligt och aldrig samtal väntar () kommer dess zombiebarn att hålla fast i minnet tills de städas upp.
Verktyg som GNOME System Monitor,
top kommandot och ps kommando-display zombie-processerna. Faror med zombieprocesser
några zombieprocesser som hänger ihop är inga problem - även om de tyder på ett fel i deras föräldraprocess på ditt system.
Att bli av med zombieprocesser
Ett sätt är att skicka SIGCHLD-signalen till moderprocessen. Den här signalen berättar föräldraprocessen att utföra vänta () systemsamtal och städa upp sina zombiebarn. Skicka signalen med kommandot
kill , ersätter pid i kommandot nedan med moderprocessens PID: kill -s SIGCHLD pid
Om föräldraprocessen inte är programmeras inte korrekt och ignorerar SIGCHLD-signaler, så hjälper det inte. Du måste döda eller stänga zombies föräldraprocess. När processen som skapade zombierna slutar, init initierar zombieprocesserna och blir deras nya förälder. (init är den första processen som startas på Linux vid start och tilldelas PID 1.) init utför systemets vänta () systemsamtal för att städa upp sina zombiebarn, så init kommer att göra korta arbeten med zombierna. Du kan starta om överföringsprocessen efter att ha stängt den.
Om en förälderprocess fortsätter att skapa zombies, bör den ordnas så att den ordentligt samtalar vänta () för att skörda sina zombiebarn. Fyll en felrapport om ett program på ditt system fortsätter att skapa zombies.
Så här konfigurerar du dina sömncykler med din Smartphone eller Smartwatch
Det här visade du nog inte att du gjorde fel: att få en god natts sömn. Enligt en undersökning som utfördes tidigare i år får mer än 75 procent av amerikanerna inte så mycket sömn som de borde, vilket betyder att fler av oss än någonsin tidigare spenderar våra dagar trötta, utplacerade och inte så produktiva som vi kunde bero på förlorade timmar Det borde ha spenderats slumrande i säcken.
Hur snabbare loggar in i Windows
Även med snabb hårdvara och det senaste operativsystemet kan logga in i Windows smärtsamt långsamt om det finns många program som startar när Windows startar. Observera att jag inte pratar om hur lång tid det tar att starta Windows eftersom det är ett helt annat odjur.Jag har redan skrivit tidigare för att påskynda Windows-starttider, påskynda Windows 7 och påskynda Windows 8. Bara att l