Hjemmeside » hvordan » Hvad er Service Host Process (svchost.exe) og hvorfor er så mange løb?

    Hvad er Service Host Process (svchost.exe) og hvorfor er så mange løb?

    Hvis du nogensinde har gennemgået Task Manager, har du måske undret dig over, hvorfor der er så mange Service Host-processer, der kører. Du kan ikke dræbe dem, og du har sikkert ikke startet dem. Så hvad er de?

    Tjenesten Host-processen fungerer som en shell til indlæsning af tjenester fra DLL-filer. Tjenester er organiseret i relaterede grupper, og hver gruppe køres inde i et andet tilfælde af Service Host Processen. På den måde påvirker et problem i et tilfælde ikke andre tilfælde. Denne proces er en vigtig del af Windows, som du ikke kan forhindre i at køre. 

    Denne artikel er en del af vores igangværende serie, der forklarer forskellige processer, der findes i task manager, som dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe og mange andre. Ved ikke, hvad disse tjenester er? Bedre begynder at læse!

    Så hvad er Service Host Process?

    Her er svaret, ifølge Microsoft:

    Svchost.exe er et generisk værtsprocesnavn for tjenester, der kører fra dynamiske link biblioteker.

    Men det hjælper os ikke meget. For nogen tid siden begyndte Microsoft at ændre meget af Windows-funktionaliteten fra at stole på interne Windows-tjenester (som løb fra EXE-filer) til at bruge DLL-filer i stedet. Fra et programmeringsperspektiv gør dette kode mere genanvendeligt og muligvis lettere at holde sig ajour. Problemet er, at du ikke kan starte en DLL-fil direkte fra Windows på samme måde som en eksekverbar fil. I stedet bruges en shell, der er indlæst fra en eksekverbar fil, til at hoste disse DLL-tjenester. Og så blev Service Host-processen (svchost.exe) født.

    Hvorfor er der så mange servicehost processer i gang?

    Hvis du nogensinde har kigget på sektionen Tjenester i Kontrolpanel, har du sikkert bemærket, at Windows kræver mange tjenester. Hvis hver enkelt tjeneste kørte under en Service Host-proces, kunne en fejl i en tjeneste potentielt bringe ned alle Windows. I stedet er de adskilt.

    Tjenester er organiseret i logiske grupper, der alle er noget relaterede, og derefter oprettes en enkelt Service Host-instans til at være vært for hver gruppe. For eksempel kører en Service Host-proces de tre tjenester relateret til firewallen. En anden Service Host-proces kan køre alle de tjenester, der er relateret til brugergrænsefladen, og så videre. I billedet nedenfor kan du f.eks. Se, at en Service Host-proces kører flere relaterede netværkstjenester, mens en anden kører tjenester relateret til fjernproceduresamtaler.

    Er der noget for mig at gøre med al denne information?

    Ærligt, ikke meget. I dagene i Windows XP (og tidligere versioner), da pc'er havde meget mere begrænsede ressourcer og operativsystemer ikke var lige så finjusterede, blev det ofte anbefalet at stoppe Windows fra at køre unødvendige tjenester. Disse dage anbefaler vi ikke længere at deaktivere tjenester. Moderne pc'er er tilbøjelige til at blive indlæst med hukommelses- og højdrevne processorer. Tilføj det til, at den måde, hvorpå Windows-tjenester håndteres i moderne versioner (og hvilke tjenester der kører) er blevet strømlinet, og at eliminere tjenester, som du tror, ​​du ikke har brug for, har virkelig ikke meget mere effekt.

    Når det er sagt, hvis du bemærker, at et bestemt eksempel på Service Host - eller en relateret tjeneste - forårsager problemer, som kontinuerlig overdreven CPU eller RAM-brug, kan du tjekke ind i de specifikke tjenester, der er involveret. Det kan i det mindste give dig en ide om, hvor du skal starte fejlfinding. Der er et par måder at gå på at se præcis, hvilke tjenester der er vært for et bestemt eksempel på Service Host. Du kan tjekke ting i Task Manager eller bruge en stor tredjepart-app med navnet Process Explorer.

    Tjek relaterede tjenester i Task Manager

    Hvis du bruger Windows 8 eller 10, vises processer på fanen "Processer" i Task Manager ved deres fulde navne. Hvis en proces tjener som vært for flere tjenester, kan du se disse tjenester ved blot at udvide processen. Dette gør det meget nemt at identificere hvilke tjenester der tilhører hver instans af Service Host-processen.

    Du kan højreklikke på en enkelt tjeneste for at stoppe tjenesten, se den i "Services" -panelets kontrolpanel eller endda søge online for at få oplysninger om tjenesten.

    Hvis du bruger Windows 7, er tingene lidt anderledes. Windows 7 Task Manager grupperede ikke processer på samme måde, og det viste heller ikke regelmæssige procesnavne. Det viste kun alle forekomster af "svchost.exe". Du var nødt til at udforske en smule for at bestemme tjenesterne i forbindelse med et bestemt eksempel på "svchost.exe."

    På fanen "Processer" i Opgavehåndtering i Windows 7 skal du højreklikke på en bestemt "svchost.exe" -proces og derefter vælge "Gå til service" -indstillingen.

    Dette vil vende dig over til fanen "Tjenester", hvor de tjenester, der kører under denne "svchost.exe" -proces, er alle markerede.

    Du kan derefter se det fulde navn på hver tjeneste i kolonnen "Beskrivelse", så du kan vælge at deaktivere tjenesten, hvis du ikke vil have den kørende eller fejlfinding, hvorfor det giver dig problemer.

    Tjek relaterede tjenester ved hjælp af Process Explorer

    Microsoft tilbyder også et fremragende avanceret værktøj til at arbejde med processer som en del af sin Sysinternals lineup. Bare download Process Explorer og kør det - det er en bærbar app, så det er ikke nødvendigt at installere det. Process Explorer giver alle mulige avancerede funktioner, og vi anbefaler stærkt at læse vores guide til at forstå Process Explorer for at lære mere.

    For vores formål her, er Process Explorer-grupper imidlertid relaterede tjenester under hver forekomst af "svchost.exe." De er angivet med deres filnavne, men deres fulde navne vises også i kolonnen "Beskrivelse". Du kan også svæve musemarkøren over nogen af ​​"svchost.exe" processerne for at se en popup med alle de tjenester, der er relateret til den proces - selv dem, der ikke kører i øjeblikket.

    Kunne denne proces være et virus?

    Selve processen er en officiel Windows-komponent. Selvom det er muligt, at en virus har erstattet den ægte Service Host med en eksekverbar egen, er det meget usandsynligt. Hvis du vil være sikker, kan du tjekke den underliggende filplacering af processen. Højreklik på enhver Service Host-proces i Opgavehåndtering, og vælg "Åbn filplacering".

    Hvis filen er gemt i din Windows \ System32-mappe, kan du være temmelig sikker på, at du ikke beskæftiger sig med en virus.

    Når det er sagt, hvis du stadig vil have lidt mere ro i sindet, kan du altid scanne efter vira ved hjælp af din foretrukne virusscanner. Hellere være på den sikre side!