Wat is het Service Host-proces (svchost.exe) en waarom worden er zoveel uitgevoerd?
Als u ooit door Task Manager hebt gebladerd, heeft u zich misschien afgevraagd waarom er zoveel Service Host-processen actief zijn. Je kunt ze niet doden en je hebt ze zeker niet gestart. Dus, wat zijn ze?
Het Service Host-proces dient als een shell voor het laden van services uit DLL-bestanden. Services zijn georganiseerd in verwante groepen en elke groep wordt binnen een ander exemplaar van het Service Host-proces uitgevoerd. Op die manier heeft een probleem in één instantie geen invloed op andere instanties. Dit proces is een vitaal onderdeel van Windows dat u niet kunt voorkomen dat het wordt uitgevoerd.
Dit artikel maakt deel uit van onze doorlopende serie waarin verschillende processen worden beschreven die worden gevonden in Taakbeheer, zoals dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe en vele andere. Weet niet wat die diensten zijn? Beter beginnen met lezen!
Dus wat is het Service Host-proces??
Hier is het antwoord, volgens Microsoft:
Svchost.exe is een generieke hostprocesnaam voor services die worden uitgevoerd vanuit DLL-bibliotheken.
Maar dat helpt ons niet echt veel. Enige tijd geleden begon Microsoft het veranderen van een groot deel van de Windows-functionaliteit van het vertrouwen op interne Windows-services (die liep van EXE-bestanden) naar het gebruik van DLL-bestanden. Vanuit een programmeringsperspectief maakt dit code meer herbruikbaar en aantoonbaar gemakkelijker om bij te houden. Het probleem is dat je een DLL-bestand niet rechtstreeks vanuit Windows kunt starten op dezelfde manier als een uitvoerbaar bestand. In plaats daarvan wordt een shell die wordt geladen vanuit een uitvoerbaar bestand gebruikt om deze DLL-services te hosten. En zo werd het Service Host-proces (svchost.exe) geboren.
Waarom zijn er zoveel Service Host-processen actief??
Als u ooit eens naar de sectie Services in het Configuratiescherm hebt gekeken, is het u waarschijnlijk opgevallen dat Windows veel services vereist. Als elke afzonderlijke service onder één Service Host-proces zou lopen, zou een fout in één service mogelijk alle Windows kunnen onderdrukken. In plaats daarvan zijn ze gescheiden.
Services zijn georganiseerd in logische groepen die allemaal enigszins gerelateerd zijn en vervolgens wordt één Service Host-instantie gemaakt om elke groep te hosten. Een Service Host-proces voert bijvoorbeeld de drie services uit die gerelateerd zijn aan de firewall. Bij een ander Service Host-proces kunnen alle services met betrekking tot de gebruikersinterface worden uitgevoerd, enzovoort. In de onderstaande afbeelding ziet u bijvoorbeeld dat één Service Host-proces verschillende gerelateerde netwerkservices uitvoert, terwijl een andere services uitvoert die zijn gerelateerd aan externe procedureaanroepen.
Is er iets voor mij om te doen met al deze informatie?
Eerlijk gezegd, niet veel. In de dagen van Windows XP (en eerdere versies), toen pc's veel beperktere bronnen hadden en besturingssystemen niet zo goed waren afgestemd, werd het vaak aanbevolen om Windows te stoppen onnodige services te laten uitvoeren. Tegenwoordig raden we niet meer aan om services uit te schakelen. Moderne pc's zijn meestal geladen met geheugen en krachtige processors. Voeg daaraan toe dat de manier waarop Windows-services worden behandeld in moderne versies (en welke services worden uitgevoerd) gestroomlijnd is en dat het elimineren van services waarvan u denkt dat u ze niet meer nodig heeft, niet echt veel effect heeft.
Dat gezegd hebbende, als u merkt dat een bepaald exemplaar van Service Host - of een gerelateerde service - problemen veroorzaakt, zoals een voortdurend overmatig CPU- of RAM-gebruik, kunt u kijken naar de specifieke services die hierbij betrokken zijn. Dat zou u op zijn minst een idee kunnen geven van waar het probleemoplossen moet beginnen. Er zijn een paar manieren om na te gaan welke services worden gehost door een bepaald exemplaar van Service Host. U kunt dingen in Taakbeheer controleren of een geweldige app van derden met de naam Process Explorer gebruiken.
Bekijk gerelateerde services in Taakbeheer
Als u Windows 8 of 10 gebruikt, worden de processen op het tabblad "Processen" van Taakbeheer weergegeven met hun volledige naam. Als een proces als host voor meerdere services fungeert, kunt u die services zien door het proces eenvoudigweg uit te breiden. Dit maakt het zeer eenvoudig om te identificeren welke services bij elke instantie van het Service Host-proces horen.
U kunt met de rechtermuisknop klikken op een afzonderlijke service om de service te stoppen, deze te bekijken in de app Configuratiescherm, of zelfs online zoeken naar informatie over de service.
Als u Windows 7 gebruikt, zijn de zaken een beetje anders. De Windows 7 Task Manager groepeerde processen niet op dezelfde manier en evenmin toonde het normale procesnamen - het liet alleen alle instanties van "svchost.exe" zien. Je moest een beetje verkennen om de services te bepalen die gerelateerd zijn aan een bepaald exemplaar van "svchost.exe."
Klik op het tabblad "Processen" van Taakbeheer in Windows 7 met de rechtermuisknop op een bepaald "svchost.exe" -proces en kies vervolgens de optie "Ga naar service".
Dit zal u omdraaien naar het tabblad "Diensten", waar de services die onder dat "svchost.exe" -proces draaien allemaal geselecteerd zijn.
U kunt dan de volledige naam van elke service in de kolom "Beschrijving" zien, zodat u kunt kiezen om de service uit te schakelen als u niet wilt dat deze wordt uitgevoerd of om problemen op te lossen waarom u problemen ondervindt.
Bekijk gerelateerde services met Process Explorer
Microsoft biedt ook een uitstekende geavanceerde tool voor het werken met processen als onderdeel van de Sysinternals-opstelling. Download de Process Explorer en voer hem uit - het is een draagbare app, dus u hoeft hem niet te installeren. Process Explorer biedt allerlei geavanceerde functies en we raden u ten zeerste aan onze handleiding voor het begrijpen van Process Explorer te lezen voor meer informatie.
Voor onze doeleinden hier groepeert Process Explorer verwante services onder elk exemplaar van "svchost.exe." Ze worden weergegeven op basis van hun bestandsnamen, maar hun volledige namen worden ook weergegeven in de kolom "Beschrijving". U kunt uw muisaanwijzer ook op een van de "svchost.exe" -processen laten zweven om een popup te zien met alle services die betrekking hebben op dat proces, zelfs de processen die momenteel niet worden uitgevoerd.
Kan dit proces een virus zijn??
Het proces zelf is een officieel Windows-onderdeel. Hoewel het mogelijk is dat een virus de echte Service Host heeft vervangen door een eigen uitvoerbaar bestand, is het zeer onwaarschijnlijk. Als je het zeker wilt weten, kun je de onderliggende bestandslocatie van het proces bekijken. Klik in Taakbeheer met de rechtermuisknop op een Service Host-proces en kies de optie "Bestandslocatie openen".
Als het bestand is opgeslagen in uw Windows \ System32-map, kunt u er vrij zeker van zijn dat u niet met een virus te maken hebt.
Dat gezegd hebbende, als u nog steeds een beetje meer gemoedsrust wilt, kunt u altijd zoeken naar virussen met behulp van uw favoriete virusscanner. Voorkomen is beter dan genezen!