Čo je to hostiteľský proces služby (svchost.exe) a prečo ich toľko beží?

Ak ste niekedy prechádzali Správcom úloh, možno vás zaujímalo, prečo je spustených toľko procesov Service Host. Nemôžete ich zabiť a určite ste ich nezačali. Takže, čo sú zač?

Proces Hostiteľ služby slúži ako shell na 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 hostiteľa služby. Takto problém v jednom prípade neovplyvní iné prípady. Tento proces je dôležitou súčasťou systému Windows, ktorej spusteniu nemôžete zabrániť. 

Tento článok je súčasťou našej pokračujúcej série vysvetľujúcej rôzne procesy nachádzajúce sa v Správcovi úloh, ako sú dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe a mnoho ďalších. Neviete, čo sú to za služby? Lepšie začnite čítať!

Aký je teda proces hostiteľa služby?

Tu je odpoveď, podľa spoločnosti Microsoft:

Svchost.exe je všeobecný názov procesu hostiteľa pre služby, ktoré sa spúšťajú z knižníc dynamických odkazov.

Ale to nám v skutočnosti veľmi nepomáha. Pred časom spoločnosť Microsoft začala meniť väčšinu funkcií systému Windows z toho, že sa spoliehala na interné služby systému Windows (ktoré bežali zo súborov EXE), že namiesto toho používa súbory DLL. Z hľadiska programovania to robí kód viac opakovane použiteľným a je zrejmé, že je ľahšie udržiavať ho v aktualizovanom stave. Problém je v tom, že nemôžete spustiť súbor DLL priamo z Windows rovnakým spôsobom ako spustiteľný súbor. Namiesto toho sa na hostenie týchto služieb DLL používa shell načítaný zo spustiteľného súboru. A tak sa zrodil proces hostiteľa služby (svchost.exe).

Prečo je spustených toľko procesov hostiteľa služieb?

SÚVISIACE: Čo je to proces a prečo beží na mojom počítači?

Ak ste sa niekedy pozreli do sekcie Služby v ovládacom paneli, určite ste si všimli, že Windows vyžaduje veľa služieb. Ak by každá služba bežala pod jedným procesom hostiteľa služby, zlyhanie jednej služby by mohlo potenciálne spôsobiť zlyhanie celého systému Windows. Namiesto toho sú oddelené.

Služby sú organizované do logických skupín, ktoré spolu trochu súvisia, a potom je vytvorená jedna inštancia hostiteľa služby na hosťovanie každej skupiny. Napríklad jeden proces hostiteľa služby spustí tri služby súvisiace s bránou firewall. Ďalším procesom hostiteľa služby môžu byť spustené všetky služby súvisiace s používateľským rozhraním atď. Na obrázku nižšie napríklad vidíte, že jeden proces hostiteľa služby spúšťa niekoľko súvisiacich sieťových služieb, zatiaľ čo iný spúšťa služby súvisiace so vzdialenými volaniami procedúr.

Existuje niečo, čo mám spoločné so všetkými týmito informáciami?

SÚVISIACE: Mali by ste zakázať služby Windows na zrýchlenie počítača?

Úprimne, nie veľa. V časoch systému Windows XP (a predchádzajúcich verzií), keď počítače mali oveľa obmedzenejšie zdroje a operačné systémy neboli úplne vyladené, sa často odporúčalo zastavenie systému Windows v spúšťaní nepotrebných služieb. V dnešnej dobe už neodporúčame deaktivovať služby. Moderné počítače majú tendenciu byť vybavené pamäťou a výkonnými procesormi. Pridajte to k tomu, že spôsob, akým sa v moderných verziách zaobchádza so službami Windows (a aké služby bežia), bol zefektívnený a eliminácia služieb, ktoré si myslíte, že nepotrebujete, už nemá veľký vplyv.

To znamená, že ak si všimnete, že konkrétna inštancia hostiteľa služby - alebo súvisiaca služba - spôsobuje problémy, napríklad neustále nadmerné používanie procesora alebo pamäte RAM, môžete skontrolovať konkrétne príslušné služby. Takto by ste mohli získať aspoň predstavu, kde začať s odstraňovaním problémov. Existuje niekoľko spôsobov, ako presne zistiť, aké služby hosťuje konkrétna inštancia hostiteľa služby. Môžete to skontrolovať v Správcovi úloh alebo pomocou skvelej 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 na karte „Procesy“ v Správcovi úloh zobrazujú pomocou ich celých mien. Ak proces slúži ako hostiteľ pre viac služieb, tieto služby môžete zobraziť jednoduchým rozšírením procesu. Vďaka tomu je veľmi ľahké určiť, ktoré služby patria ku každej inštancii procesu Hostiteľ služby.

Môžete kliknúť pravým tlačidlom myši na ktorúkoľvek jednotlivú službu, čím ju zastavíte, zobrazíte ju v aplikácii Ovládací panel „Služby“ alebo dokonca vyhľadáte online informácie o službe.

Ak používate Windows 7, veci sa trochu líšia. Správca úloh systému Windows 7 nezoskupoval procesy rovnakým spôsobom ani nezobrazoval bežné názvy procesov - zobrazoval iba všetky inštancie spusteného súboru „svchost.exe“. Museli ste trochu preskúmať, aby ste určili služby spojené s konkrétnou inštanciou súboru „svchost.exe“.

Na karte „Procesy“ v Správcovi úloh vo 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ýmto sa presuniete na kartu „Služby“, kde sú vybrané všetky služby bežiace pod týmto procesom „svchost.exe“.

Celý názov každej služby sa potom zobrazuje v stĺpci „Popis“, takže ju môžete deaktivovať, ak nechcete, aby bola spustená, alebo vyriešiť problém, ktorý vám spôsobuje problémy.

Skontrolujte súvisiace služby pomocou nástroja Process Explorer

Spoločnosť Microsoft taktiež poskytuje vynikajúci pokročilý nástroj na prácu s procesmi ako súčasť svojej ponuky Sysinternals. Stačí si stiahnuť Process Explorer a spustiť ho - je to prenosná aplikácia, takže ju nemusíte inštalovať. Process Explorer poskytuje všetky druhy pokročilých funkcií - a dôrazne odporúčame prečítať si našu príručku o porozumení produktu Process Explorer, kde sa dozviete viac.

SÚVISIACE: Čo je to prenosná aplikácia a prečo je dôležitá?

Pre naše účely tu však Process Explorer zoskupuje súvisiace služby do každej inštancie súboru „svchost.exe“. Sú uvedené podľa názvu súboru, ale jeho celé meno je tiež uvedené v stĺpci „Popis“. Môžete tiež umiestniť kurzor myši na niektorý z procesov „svchost.exe“ a zobraziť vyskakovacie okno so všetkými službami súvisiacimi s týmto procesom - vrátane tých, ktoré momentálne nie sú spustené.

Môže byť tento proces 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 hostiteľa služby vlastným spustiteľným programom, je veľmi nepravdepodobné. Ak si chcete byť istí, môžete skontrolovať umiestnenie podkladového súboru procesu. V Správcovi úloh kliknite pravým tlačidlom myši na ľubovoľný proces hostiteľa služby a vyberte možnosť „Otvoriť umiestnenie súboru“.

Ak je súbor uložený v priečinku Windows \ System32, môžete si byť celkom istí, že nejde o vírus.

SÚVISIACE: Aký je najlepší antivírus pre Windows 10? (Je program Windows Defender dosť dobrý?)

To znamená, že ak si chcete ešte trochu oddýchnuť, môžete kedykoľvek vyhľadať vírusy pomocou svojho preferovaného antivírusového programu. Istota je istota!