Mi az a szolgáltatás-fogadó folyamat (svchost.exe), és miért olyan sok fut?
Ha valaha is átnézte a Feladatkezelőt, lehet, hogy elgondolkozott, hogy miért futnak olyan sok Service Host folyamat. Nem tudja megölni őket, és biztos, hogy nem indította el őket. Szóval, mik azok?
A Service Host folyamat a DLL fájlok betöltésének héjaként szolgál. A szolgáltatások kapcsolódó csoportokba rendeződnek, és minden csoport a Szolgáltatásgazdai folyamat egy másik példányán fut. Így az egyik példány nem érinti a többi példányt. Ez a folyamat a Windows létfontosságú része, amelyet nem lehet megakadályozni.
Ez a cikk folyamatos sorozatunk részét képezi, amely a Task Managerben található különböző folyamatokat ismerteti, mint például a dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe és sok más. Nem tudom, mi ezek a szolgáltatások? Jobb elkezd olvasni!
Tehát mi a szolgáltatás-fogadó folyamat?
A válasz a Microsoft szerint:
A Svchost.exe egy általános hosztfolyamat-név a dinamikus link-könyvtárakból futó szolgáltatások számára.
De ez nem sokat segít nekünk. Néhány évvel ezelőtt a Microsoft elkezdte a Windows funkcionalitásának nagy részét megváltoztatni a belső Windows-szolgáltatásoktól (amelyek az EXE-fájlokból futottak) a DLL-fájlok helyett. A programozási szempontból ez a kódot újrahasználhatóvá teszi és vitathatatlanul könnyebb naprakészen tartani. A probléma az, hogy nem indíthat el egy DLL fájlt közvetlenül a Windowsból, ugyanúgy, mint egy végrehajtható fájlt. Ehelyett egy végrehajtható fájlból betöltött shell használják ezeket a DLL szolgáltatásokat. Így született meg a Service Host folyamat (svchost.exe).
Miért futnak olyan sok szolgáltatást futtató folyamat?
Ha valaha is megnézte a Vezérlőpult Szolgáltatások részt, valószínűleg észrevette, hogy a Windows sok szolgáltatást igényel. Ha minden egyes szolgáltatás egy szolgáltatást üzemeltető folyamat alatt futott, az egyik szolgáltatás hibája potenciálisan csökkentheti az összes Windows rendszert. Ehelyett elkülönülnek.
A szolgáltatások logikai csoportokba rendeződnek, amelyek mindegyike kissé összefüggő, majd egyetlen szolgáltatás-gazdaszervezet jön létre minden egyes csoport fogadására. Például az egyik Service Host folyamat a tűzfalhoz kapcsolódó három szolgáltatást futtatja. Egy másik szolgáltatásgazdai folyamat futtathatja a felhasználói felülethez kapcsolódó összes szolgáltatást stb. Az alábbi képen például láthatjuk, hogy az egyik szolgáltatásgazdai folyamat számos kapcsolódó hálózati szolgáltatást futtat, míg egy másik a távoli eljáráshívásokkal kapcsolatos szolgáltatásokat futtat.
Van-e valami, ami mindent megtesz az összes információval?
Őszintén szólva, nem sokat. A Windows XP (és a korábbi verziók) napjaiban, amikor a PC-k sokkal korlátozottabb erőforrásokkal és operációs rendszerekkel nem voltak pontosan finomhangolva, gyakran ajánlott a Windows szükségtelen szolgáltatások futtatásának leállítása. Manapság nem ajánljuk a szolgáltatások letiltását. A modern PC-k memóriával és nagy teljesítményű processzorokkal vannak terhelve. Ehhez hozzáteszi, hogy a Windows-szolgáltatások modern verzióiban történő kezelésének módja (és milyen szolgáltatásokat futtatnak) egyszerűsítették, és olyan szolgáltatások megszüntetése, amelyekről úgy gondolja, hogy nem kell igazán, többé nem gyakorolnak több hatást.
Ez azt jelenti, hogy ha észreveszed, hogy a Service Host-nak vagy a kapcsolódó szolgáltatásnak egy adott példánya problémát okoz, mint például a folyamatos túlzott CPU- vagy RAM-használat, ellenőrizheted az adott szolgáltatásokat. Ez legalább ötletet adhat arra vonatkozóan, hogy hová kezdje el a hibaelhárítást. Néhány módja van annak, hogy pontosan megnézhessük, milyen szolgáltatásokat tartanak fenn a Service Host adott példánya. A Feladatkezelőn belül ellenőrizheti a dolgokat, vagy egy nagyszerű, harmadik féltől származó, Process Explorer nevű alkalmazást használhat.
Ellenőrizze a kapcsolódó szolgáltatásokat a Feladatkezelőben
Ha Windows 8 vagy 10-et használ, a folyamatokat a Feladatkezelő „Folyamatok” lapján a teljes nevükkel mutatjuk be. Ha egy folyamat több szolgáltatás fogadója, akkor ezeket a szolgáltatásokat egyszerűen a folyamat bővítésével láthatja. Ez megkönnyíti a szolgáltatás-gazdálkodási folyamat minden egyes példányához tartozó szolgáltatások azonosítását.
A szolgáltatás leállításához jobb egérgombbal kattintson az egyes szolgáltatásokra, megtekintheti azt a „Szolgáltatások” Vezérlőpult alkalmazásban, vagy akár az interneten is kereshet információt a szolgáltatásról.
Ha Windows 7-et használ, a dolgok kicsit másak. A Windows 7 Task Manager nem csoportosította a folyamatokat ugyanúgy, és nem mutatott rendszeres folyamatneveket, csak az „svchost.exe” összes példányát mutatja. Meg kellett vizsgálnia egy kicsit, hogy meghatározza a „svchost.exe” adott példányához kapcsolódó szolgáltatásokat.
A Windows 7-ben a Feladatkezelő „Folyamatok” lapján kattintson a jobb egérgombbal egy adott „svchost.exe” folyamatra, majd válassza a „Go to Service” opciót.
Ez átfordítja Önt a „Szolgáltatások” fülre, ahol a „svchost.exe” folyamat alatt futó szolgáltatások mindegyike be van jelölve.
Ezután megtekintheti az egyes szolgáltatások teljes nevét a „Leírás” oszlopban, így kiválaszthatja, hogy letiltja-e a szolgáltatást, ha nem akarja, hogy futhasson, vagy elhárítsa, hogy miért ad problémát.
Ellenőrizze a kapcsolódó szolgáltatásokat a Process Explorer segítségével
A Microsoft kiváló fejlett eszközt biztosít a folyamatok kezelésére a Sysinternals felépítésének részeként. Csak töltse le a Process Explorer programot, és futtassa azt, ez egy hordozható alkalmazás, ezért nem kell telepítenie. A Process Explorer mindenféle fejlett funkciót biztosít, és javasoljuk, hogy olvassa el az útmutatót a Process Explorer megértéséhez, hogy többet megtudjon.
Az itt leírt célokra azonban a „Explorer Explorer” kapcsolódó szolgáltatásokat csoportosít az „svchost.exe” minden egyes példányánál. Fájlnevük szerint vannak felsorolva, de teljes nevük is megjelenik a „Leírás” oszlopban. Az egérmutatót az „svchost.exe” folyamatok bármelyikére is áthelyezheti, hogy az összes, az adott folyamathoz kapcsolódó szolgáltatással felugró ablakot láthasson - még azok is, amelyek jelenleg nem futnak.
Lehet ez a folyamat vírus?
A folyamat maga a Windows hivatalos összetevője. Bár lehetséges, hogy egy vírus helyettesíti a valós szervizcsomagot egy saját végrehajtható eszközzel, ez nagyon valószínűtlen. Ha biztos akarsz lenni, nézd meg a folyamatban lévő fájl helyét. A Feladatkezelőben kattintson a jobb gombbal a Szolgáltatásgazdai folyamatra, és válassza ki a „Nyissa meg a fájl helyét” opciót.
Ha a fájlt a Windows System32 mappájában tárolja, akkor elég biztos lehet benne, hogy nem foglalkozik egy vírussal.
Ez azt jelenti, hogy ha még mindig egy kicsit több nyugalmat szeretne, akkor mindig a kívánt víruskeresővel keresheti meg a vírusokat. Jobb félni, mint megijedni!