
Hvis du er en Linux-bruger, kan du have set zombieprocesser, der springer rundt i din procesliste. Du kan ikke dræbe en zombie-proces, fordi den allerede er død - som en faktisk zombie.
Zombier er stort set de resterende bit af døde processer, der ikke er blevet renset korrekt. Et program, der skaber zombieprocesser, er ikke programmeret korrekt - programmer skal ikke lade zombieprocesserne holde sig fast.
Billedkredit: Daniel Hollister på Flickr (Remixed)
Når en proces dør på Linux, fjernes det ikke umiddelbart fra hukommelsen - dens proces deskriptor forbliver i hukommelsen (procesbeskrivelsen tager kun en lille mængde hukommelse). Processens status bliver EXIT_ZOMBIE, og procesens forælder meddeles, at dens børneproces er død med SIGCHLD-signalet. Hovedprocessen skal derefter udføre ventetiden () systemopkald for at læse den døde process exitstatus og andre oplysninger. Dette gør det muligt for forældreprocessen at få oplysninger fra den døde proces. Efter ventetiden () kaldes zombieprocessen helt fra hukommelsen.
Dette sker normalt meget hurtigt, så du kan ikke se, at zombieprocesser akkumuleres på dit system. Men hvis en forældersproces ikke er programmeret korrekt og aldrig kalder vente (), vil dens zombiebørn holde fast i hukommelsen, indtil de er ryddet op.
Hjælpeprogrammer som GNOME System Monitor,
top kommandoen og ps kommando display zombie processer. Farer ved Zombie Processes

et par zombieprocesser, der hænger rundt, er ikke noget problem - selvom de angiver en fejl med deres forældreproces på dit system.
At slippe af med zombieprocesser

En måde er at sende SIGCHLD-signalet til forældreprocessen. Dette signal fortæller den overordnede proces at udføre vent () systemopkald og rydde op sine zombiebørn. Send signalet med kommandoen
kill , som erstatter pid i kommandoen nedenfor med overordnede procesens PID: kill -s SIGCHLD pid
Men hvis forældelsesprocessen ikke er Det er ikke programmeret korrekt og ignorerer SIGCHLD-signaler, det hjælper ikke. Du bliver nødt til at dræbe eller lukke zombiernes overordnede proces. Når processen, der skabte zombierne ender, inverter init zombieprocesserne og bliver deres nye forælder. (init er den første proces startet på Linux ved opstart og tildeles PID 1.) init udfører periodisk ventet () systemopkald for at rydde op sine zombiebørn, så init vil gøre kort arbejde med zombierne. Du kan genstarte hovedprocessen efter at have lukket den.
Hvis en forældersproces fortsætter med at oprette zombier, skal den rettes, så den kalder ordentlig vente () for at høste sine zombiebørn. Send en fejlrapport, hvis et program på dit system fortsætter med at oprette zombier.
Sådan køres en simpel lokal Minecraft-server (med og uden mod)
Selvom det er nemt nok at dele et Minecraft-kort med andre lokale spillere på dit netværk, er det rart at kunne løbe en dedikeret server, så folk kan komme og gå uden at den originale spil vært indlæser Minecraft. I dag ser vi på, hvordan man kører en simpel lokal Minecraft-server både med og uden mods.
Hvad er "Seneste BIOS-tid" i Windows Task Manager?
Windows 10s task manager viser din pcs "sidste BIOS-tid" på fanen Startup. Her er hvad det tal betyder - og hvordan man reducerer det, så din pc starter hurtigere. Hvad er "Seneste BIOS-tid"? RELATERET: Hvad laver en pc BIOS, og hvornår skal jeg bruge det? Tallet "Sidste BIOS-tid" er den tid det tog til computerens BIOS (eller mere præcist, computerens UEFI-firmware) for at initialisere din hardware, før den begynder at starte Windows, når du starter computeren.