Hva er Service Host Process (svchost.exe) og hvorfor er så mange løpende?
Hvis du noensinne har surfet gjennom Oppgavebehandling, har du kanskje lurt på hvorfor det er så mange Service Host-prosesser som kjører. Du kan ikke drepe dem, og du visste ikke at de startet dem. Så, hva er de?
Tjenesten Vertsprosessen fungerer som et skall for å laste inn tjenester fra DLL-filer. Tjenester er organisert i beslektede grupper, og hver gruppe kjøres inne i en annen forekomst av Service Host Process. På den måten påvirker et problem i ett tilfelle ikke andre tilfeller. Denne prosessen er en viktig del av Windows som du ikke kan hindre i å kjøre.
Denne artikkelen er en del av vår pågående serie som forklarer ulike prosesser som finnes i Oppgavebehandling, som dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe og mange andre. Vet ikke hva disse tjenestene er? Bedre begynner å lese!
Så Hva er Service Host Process?
Her er svaret, ifølge Microsoft:
Svchost.exe er et generisk vertsprosessnavn for tjenester som kjøres fra dynamiske koblingsbiblioteker.
Men det hjelper oss ikke veldig mye. For en tid siden begynte Microsoft å bytte mye av Windows-funksjonaliteten fra å stole på interne Windows-tjenester (som kjørte fra EXE-filer) til å bruke DLL-filer i stedet. Fra et programmeringsperspektiv gjør dette koden mer gjenbrukbar og uten tvil enklere å holde seg oppdatert. Problemet er at du ikke kan starte en DLL-fil direkte fra Windows på samme måte som en kjørbar fil. I stedet brukes et skall som er lastet fra en kjørbar fil til å hoste disse DLL-tjenestene. Og så ble vertsprosessen (svchost.exe) født.
Hvorfor er det så mange servicevertsprosesser som kjører?
Hvis du noen gang har sett på Services-delen i Kontrollpanel, har du sannsynligvis lagt merke til at Windows krever mange tjenester. Hvis hver enkelt tjeneste kjørte under en Service Host-prosess, kan en feil i en tjeneste potensielt føre ned alle Windows. I stedet blir de skilt ut.
Tjenester er organisert i logiske grupper som alle er noe relaterte, og deretter opprettes en enkelt Service Host-forekomst for å være vert for hver gruppe. En tjenestevertsprosess kjører for eksempel de tre tjenestene som er relatert til brannmuren. En annen Service Host-prosess kan kjøre alle tjenestene som er relatert til brukergrensesnittet, og så videre. I bildet nedenfor kan du for eksempel se at en Service Host-prosess kjører flere relaterte nettverkstjenester, mens en annen kjører tjenester relatert til eksterne prosessanrop.
Er det noe for meg å gjøre med all denne informasjonen?
Ærlig, ikke mye. I dagene med Windows XP (og tidligere versjoner), da PC-er hadde mye mer begrensede ressurser og operativsystemer, var det ikke så finjustert, ble det ofte anbefalt å stoppe Windows fra å kjøre unødvendige tjenester. Disse dager anbefaler vi ikke å deaktivere tjenester lenger. Moderne PCer pleier å være lastet med minne og kraftige prosessorer. Legg til det på det faktum at måten Windows-tjenester håndteres i moderne versjoner (og hvilke tjenester som kjøres) har blitt strømlinjeformet, og eliminering av tjenester du tror du ikke trenger virkelig, har ikke mye innvirkning lenger.
Når det er sagt, hvis du oppdager at en bestemt forekomst av Service Host-eller en relatert tjeneste-forårsaker problemer, som kontinuerlig overdreven CPU eller RAM-bruk, kan du sjekke inn i de spesifikke tjenestene som er involvert. Det kan i det minste gi deg en ide om hvor du skal starte feilsøkingen. Det er noen måter å gå på å se nøyaktig hvilke tjenester som er vert for en bestemt forekomst av Service Host. Du kan sjekke opp ting i Oppgavebehandling eller ved hjelp av en flott tredjepartsprogram kalt Process Explorer.
Sjekk relaterte tjenester i Oppgavebehandling
Hvis du bruker Windows 8 eller 10, vises prosesser på fanen Prosesser i Oppgavebehandling ved deres fulle navn. Hvis en prosess tjener som vert for flere tjenester, kan du se disse tjenestene ved ganske enkelt å utvide prosessen. Dette gjør det veldig enkelt å identifisere hvilke tjenester som tilhører hver forekomst av Service Host-prosessen.
Du kan høyreklikke på en enkelt tjeneste for å stoppe tjenesten, vise den i "Tjenester" Kontrollpanel-appen, eller til og med søke på nettet for å få informasjon om tjenesten.
Hvis du bruker Windows 7, er ting litt annerledes. Windows 7 Task Manager grupperte ikke prosesser på samme måte, og det viste heller ikke vanlige prosessnavn - det viste bare alle forekomster av "svchost.exe" som kjører. Du måtte utforske litt for å avgjøre tjenestene knyttet til en bestemt forekomst av "svchost.exe."
På "Prosesser" -fanen i Oppgavebehandling i Windows 7, høyreklikk på en bestemt "svchost.exe" -prosess, og velg deretter "Gå til tjeneste" -alternativet.
Dette vil vende deg over til "Tjenester" -fanen, der tjenestene som kjører under denne "svchost.exe" -prosessen er alle valgt.
Du kan da se hele navnet på hver tjeneste i kolonnen "Beskrivelse", så du kan velge å deaktivere tjenesten hvis du ikke vil at den skal løpe eller feilsøke hvorfor det gir deg problemer.
Sjekk relaterte tjenester ved hjelp av Prosess Explorer
Microsoft tilbyr også et utmerket avansert verktøy for å jobbe med prosesser som en del av Sysinternals-serien. Bare last ned Process Explorer og kjør det - det er en bærbar app, så du trenger ikke å installere den. Process Explorer gir alle slags avanserte funksjoner, og vi anbefaler på det sterkeste å lese vår guide til å forstå Process Explorer for å lære mer.
For vår hensikt her, skjønt, berører Process Explorer grupper relaterte tjenester under hver forekomst av "svchost.exe." De er oppført etter deres filnavn, men deres fulle navn vises også i kolonnen "Beskrivelse". Du kan også sveve musepekeren over noen av "svchost.exe" -prosessene for å se en popup med alle tjenestene knyttet til den prosessen - selv de som ikke kjører.
Kunne denne prosessen være et virus?
Prosessen i seg selv er en offisiell Windows-komponent. Selv om det er mulig at et virus har erstattet den virkelige Service Host med en kjørbar egen, er det svært lite sannsynlig. Hvis du vil være sikker, kan du sjekke ut den underliggende filplasseringen til prosessen. I Oppgavebehandling høyreklikker du på en hvilken som helst Service Host-prosess og velger alternativet "Åpne filliste".
Hvis filen er lagret i mappen Windows \ System32, kan du være ganske sikker på at du ikke har et virus.
Når det er sagt, hvis du fortsatt vil ha litt mer trygghet, kan du alltid skanne etter virus ved hjelp av din foretrukne virusskanner. Bedre trygg enn beklager!