Úvodná » ako » Čo je služba hostiteľskej služby (svchost.exe) a prečo sa toľko beží?

    Čo je služba hostiteľskej služby (svchost.exe) a prečo sa toľko beží?

    Ak ste niekedy prechádzali cez správcu úloh, možno ste sa pýtali, prečo je tak veľa servisných procesov spustených. Nemôžete ich zabiť a určite ste ich nezačali. Takže, čo sú?

    Proces Host Service slúži ako shell pre načítanie služieb zo súborov DLL. Služby sú organizované do príbuzných skupín a každá skupina je spustená v inej inštancii procesu Host Service. Týmto spôsobom problém v jednej inštancii neovplyvňuje ostatné inštancie. Tento proces je dôležitou súčasťou systému Windows, ktorú nemôžete zabrániť spusteniu. 

    Tento článok je súčasťou našej prebiehajúcej série vysvetľujúcich rôzne procesy nájdené v Správcovi úloh, ako dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe a mnoho ďalších. Neviete, aké sú tieto služby? Lepšie čítanie!

    Takže čo je proces hostiteľskej služby?

    Tu je odpoveď, podľa Microsoft:

    Svchost.exe je všeobecný názov hostiteľského procesu pre služby, ktoré bežia z knižníc dynamických odkazov.

    Ale to nám veľa nepomôže. Pred niekoľkými dňami Microsoft začal meniť veľkú časť funkčnosti systému Windows, aby sa spoliehal na interné služby Windows (ktoré fungovali z EXE súborov) a použili namiesto toho súbory DLL. Z hľadiska programovania to spôsobuje, že kód je viac opätovne použiteľný a pravdepodobne ľahšie sa aktualizuje. Problém je, že nemôžete spustiť súbor DLL priamo zo systému Windows rovnakým spôsobom ako spustiteľný súbor. Namiesto toho shell, ktorý je načítaný z spustiteľného súboru, sa používa na hosťovanie týchto služieb DLL. A tak sa zrodil proces služby Host (svchost.exe).

    Prečo existuje tak veľa servisných hostiteľských procesov?

    Ak ste sa niekedy pozreli na sekciu Služby v ovládacom paneli, pravdepodobne ste si všimli, že Windows vyžaduje veľa služieb. Ak bola každá jednotlivá služba spustená v rámci jedného servisného procesu, zlyhanie v jednej službe by mohlo potenciálne zničiť celý systém Windows. Namiesto toho sú oddelené.

    Služby sú usporiadané do logických skupín, ktoré sú do určitej miery spojené a potom sa vytvorí jedna inštancia hostiteľa služby, ktorá bude hostiť každú skupinu. Napríklad jeden servisný proces spúšťa tri služby súvisiace s firewallom. Iný proces hostiteľskej služby môže spúšťať všetky služby súvisiace s používateľským rozhraním atď. Na obrázku nižšie vidíte napríklad, že jeden proces hostiteľskej služby spúšťa niekoľko súvisiacich sieťových služieb, zatiaľ čo iný spúšťa služby spojené s volaniami na diaľku.

    Je všetko pre mňa robiť so všetkými týmito informáciami?

    Úprimne, nie veľa. V dňoch Windows XP (a v predchádzajúcich verziách), keď mali počítače oveľa obmedzenejšie zdroje a operačné systémy neboli dosť ladené, bolo často odporúčané zastaviť Windows z prevádzky nepotrebných služieb. V týchto dňoch už neodporúčame zakázať služby. Moderné počítače majú tendenciu načítať pamäť a výkonné procesory. Pridajte to k tomu, že spôsob, akým sa služby v systéme Windows spracovávajú v moderných verziách (a aké služby prebiehajú), boli zjednodušené a odstránenie služieb, o ktorých si myslíte, že nepotrebujete, naozaj nemá moc vplyv.

    Ak spozorujete, že určitá inštancia servera služby alebo súvisiaca služba spôsobuje problémy, napríklad neustále nadmerné využívanie procesora alebo pamäte RAM, môžete skontrolovať konkrétne služby, ktoré sa to týkajú. To vám môže aspoň poskytnúť predstavu o tom, kde začať riešiť problémy. Existuje niekoľko spôsobov, ako môžete vidieť presne to, aké služby hosťujú konkrétna inštancia hostiteľa služby. Môžete skontrolovať veci v rámci Správcu úloh alebo pomocou aplikácie tretej strany s názvom Process Explorer.

    Skontrolujte súvisiace služby v Správcovi úloh

    Ak používate Windows 8 alebo 10, procesy sa zobrazujú na karte "Procesy" Správcu úloh podľa ich plných mien. Ak proces slúži ako hostiteľ pre viacero služieb, tieto služby môžete vidieť jednoduchým rozšírením procesu. Tým je veľmi jednoduché zistiť, ktoré služby patria každému inštancii služby Host Service.

    Môžete kliknúť pravým tlačidlom myši na každú jednotlivú službu, ak chcete službu zastaviť, zobraziť ju v aplikácii Ovládací panel služby "Služby" alebo dokonca vyhľadať online informácie o službe.

    Ak používate systém Windows 7, veci sú trochu iné. Správca úloh systému Windows 7 nesjednotil procesy rovnakým spôsobom, ani nevykazoval bežné názvy procesov - zobrazoval iba všetky prípady spustenia "svchost.exe". Museli ste trochu preskúmať služby súvisiace s konkrétnou inštanciou "svchost.exe".

    Na karte "Processes" v nástroji Správca úloh v systéme Windows 7 kliknite pravým tlačidlom myši na konkrétny proces "svchost.exe" a potom vyberte možnosť "Prejsť na službu".

    Tým sa prenesiete na kartu "Služby", kde sú všetky služby spustené v rámci tohto procesu "svchost.exe".

    Potom môžete v stĺpci "Popis" zobraziť celé meno každej služby, takže sa môžete rozhodnúť pre vypnutie služby, ak nechcete, aby sa spúšťala, alebo prečo sa vyskytnú problémy.

    Skontrolujte súvisiace služby pomocou aplikácie Process Explorer

    Spoločnosť Microsoft tiež poskytuje vynikajúci pokročilý nástroj na prácu s procesmi ako súčasť jeho zostavy Sysinternals. Stačí prevziať aplikáciu Process Explorer a spustiť ju - je to prenosná aplikácia, takže ju nemusíte inštalovať. Program Process Explorer poskytuje všetky druhy pokročilých funkcií - a veľmi odporúčame, aby ste si prečítali náš návod na pochopenie Process Explorer, aby ste sa dozvedeli viac.

    Pre naše účely tu však súvisiace služby skupiny Process Explorer pod každou inštanciou "svchost.exe". Sú uvedené podľa ich názvov súborov, ale ich plné mená sa zobrazujú aj v stĺpci "Popis". Môžete tiež umiestniť ukazovateľ myši nad ľubovoľný z procesov "svchost.exe" a zobraziť vyskakovacie okno so všetkými službami súvisiacimi s daným procesom - dokonca aj tie, ktoré v súčasnosti nie sú spustené.

    Mohol by tento proces byť vírusom?

    Samotný proces je oficiálnou súčasťou systému Windows. Aj keď je možné, že vírus nahradil skutočného servisného hostiteľa vlastným spustiteľným súborom, je to veľmi nepravdepodobné. Ak by ste chceli byť istí, môžete si pozrieť základné umiestnenie súboru procesu. V Správcovi úloh kliknite pravým tlačidlom myši na akýkoľvek servisný proces a zvoľte možnosť "Otvoriť umiestnenie súboru".

    Ak je súbor uložený vo vašom priečinku Windows \ System32, môžete si byť celkom istí, že nemáte vírus.

    To znamená, že ak chcete ešte trochu viac pokoja, vždy môžete skenovať vírusy pomocou vášho preferovaného vírusového skenera. Istota je istota!