/ / Vad är Service Host Process (svchost.exe) och varför körs det så många?

Vad är Service Host Process (svchost.exe) och varför körs det så många?

Om du någonsin har bläddrat genom Task Manager kan du ha undrat varför det finns så många Service Host-processer som körs. Du kan inte döda dem och du startade dem säkerligen inte. Så vad är de?

Servicevärdprocessen fungerar som ett skal förladdar tjänster från DLL-filer. Tjänsterna är organiserade i relaterade grupper och varje grupp drivs i en annan instans av Service Host Process. På så sätt påverkar inte ett problem i ett fall andra fall. Denna process är en viktig del av Windows som du inte kan förhindra att köras.

Den här artikeln är en del av vår pågående serieförklara olika processer som finns i Task Manager, som dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe och många andra. Vet du inte vad dessa tjänster är? Bättre börja läsa!

Så vad är Service Host Process?

Här är svaret enligt Microsoft:

Svchost.exe är ett generiskt värdprocessnamn för tjänster som körs från dynamiska länkbibliotek.

Men det hjälper oss inte så mycket. För en tid sedan började Microsoft ändra mycket av Windows-funktionaliteten från att förlita sig på interna Windows-tjänster (som sprang från EXE-filer) till att använda DLL-filer istället. Från ett programmeringsperspektiv gör detta koden mer återanvändbar och utan tvekan lättare att hålla sig uppdaterad. Problemet är att du inte kan starta en DLL-fil direkt från Windows på samma sätt som en körbar fil. Istället används ett skal som laddas från en körbar fil för att vara värd för dessa DLL-tjänster. Och så blev Service Host-processen (svchost.exe) född.

Varför körs det så många servicevärdprocesser?

RELATERAD: Vad är den här processen och varför körs den på min dator?

Om du någonsin har tittat på tjänsternai Kontrollpanelen, har du antagligen lagt märke till att Windows kräver många tjänster. Om varje enskild tjänst kördes under en Service Host-process, kan ett fel i en tjänst eventuellt föra ner hela Windows. Istället är de separerade.

Tjänster är organiserade i logiska grupper somär alla något relaterade, och sedan skapas en enda Service Host-instans för att vara värd för varje grupp. Till exempel kör en Service Host-process de tre tjänsterna relaterade till brandväggen. En annan Service Host-process kan köra alla tjänster relaterade till användargränssnittet och så vidare. I bilden nedan kan du till exempel se att en Service Host-process kör flera relaterade nätverkstjänster, medan en annan kör tjänster relaterade till fjärrprocedursamtal.

Har jag något att göra med all denna information?

RELATERAD: Bör du inaktivera Windows-tjänster för att påskynda din dator?

Ärligt talat, inte mycket. Under Windows XP (och tidigare versioner), när datorer hade mycket mer begränsade resurser och operativsystem inte var så lika fininställda, rekommenderas ofta att stoppa Windows från att köra onödiga tjänster. Idag rekommenderar vi inte att inaktivera tjänster längre. Moderna datorer tenderar att laddas med minne och högdrivna processorer. Lägg till det faktum att hur Windows-tjänster hanteras i moderna versioner (och vilka tjänster som körs) har strömlinjeformats, och att eliminera tjänster som du tror att du inte behöver verkligen har inte någon större inverkan längre.

Som sagt, om du märker att en vissexempel på Service Host - eller en relaterad tjänst - orsakar problem, som kontinuerlig överdriven CPU- eller RAM-användning, kan du kolla in de specifika tjänster som är inblandade. Det kan åtminstone ge dig en uppfattning om var du ska börja felsöka. Det finns några sätt att se exakt vilka tjänster som värdas av en viss instans av servicevärd. Du kan kolla in saker inom Task Manager eller använda en fantastisk tredjepartsapp med namnet Process Explorer.

Kontrollera relaterade tjänster i Aktivitetshanteraren

Om du använder Windows 8 eller 10 är processer detvisas på fliken ”Processer” i Aktivitetshanteraren med deras fulla namn. Om en process fungerar som en värd för flera tjänster kan du se dessa tjänster genom att helt enkelt utöka processen. Detta gör det mycket enkelt att identifiera vilka tjänster som tillhör varje instans av Service Host-processen.

Du kan högerklicka på en enskild tjänst för att stoppa tjänsten, visa den i appen "Tjänster" Kontrollpanelen eller till och med söka online för information om tjänsten.

Om du använder Windows 7 är det liteannorlunda. Uppgiftshanteraren i Windows 7 grupperade inte processer på samma sätt och visade inte heller vanliga processnamn - den visade bara alla förekomsten av att "svchost.exe" körs. Du var tvungen att utforska lite för att bestämma tjänsterna relaterade till en viss instans av "svchost.exe."

På fliken "Processer" i Task Manager i Windows 7 högerklickar du på en viss "svchost.exe" -process och väljer sedan alternativet "Gå till tjänst".

bild

Detta kommer att leda dig till fliken "Tjänster", där tjänsterna som körs under den "svchost.exe" -processen alla är valda.

bild

Du kan sedan se hela namnet på varje tjänst i kolumnen "Beskrivning", så du kan välja att inaktivera tjänsten om du inte vill att den ska köras eller felsöka varför den ger dig problem.

Kontrollera relaterade tjänster med hjälp av Process Explorer

Microsoft erbjuder också en utmärkt avanceradverktyg för att arbeta med processer som en del av sin Sysinternals sortiment. Ladda bara ner Process Explorer och kör det - det är en bärbar app, så du behöver inte installera den. Process Explorer har alla typer av avancerade funktioner - och vi rekommenderar starkt att du läser vår guide för att förstå Process Explorer för att lära dig mer.

För våra ändamål här Process Explorergrupperar relaterade tjänster under varje instans av "svchost.exe." De listas med sina filnamn, men deras fullständiga namn visas också i kolumnen "Beskrivning". Du kan också föra muspekaren över någon av "svchost.exe" -processerna för att se en popup med alla tjänster relaterade till den processen - även de som för närvarande inte körs.

bild

Kan denna process vara ett virus?

Processen i sig är ett officiellt Windowskomponent. Även om det är möjligt att ett virus har ersatt den verkliga servicevärdet med en egen körbar, är det mycket osannolikt. Om du vill vara säker kan du kolla in den underliggande filplatsen för processen. Högerklicka på någon tjänstvärdprocess i Task Manager och välj alternativet "Öppna filplats".

Om filen lagras i din WindowsSystem32-mapp, kan du vara ganska säker på att du inte har att göra med ett virus.

RELATERAD: Vad är det bästa antivirusprogrammet för Windows 10? (Är Windows Defender bra nog?)

Som sagt, om du fortfarande vill ha lite mer sinnesfrid kan du alltid söka efter virus med din föredragna virusscanner. Säkra före det osäkra!