Co je proces hostitele služby (svchost.exe) a proč tolik běží?

Pokud jste někdy procházeli Správcem úloh, možná vás zajímalo, proč běží tolik procesů Service Host. Nemůžete je zabít a určitě jste je nezačali. Takže co jsou zač?

Proces hostitele služby slouží jako prostředí pro načítání služeb ze souborů DLL. Služby jsou organizovány do souvisejících skupin a každá skupina je spuštěna v jiné instanci procesu hostitele služby. Tímto způsobem problém v jedné instanci neovlivní jiné instance. Tento proces je důležitou součástí systému Windows, jejíž spuštění nelze zabránit. 

Tento článek je součástí naší pokračující série vysvětlující různé procesy nalezené ve Správci úloh, jako jsou dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe a mnoho dalších. Nevíte, jaké jsou to služby? Lepší začněte číst!

Jaký je tedy proces hostitele služby?

Zde je odpověď, podle společnosti Microsoft:

Svchost.exe je obecný název procesu hostitele pro služby, které běží z knihoven dynamických odkazů.

Ale to nám moc nepomůže. Před nějakou dobou společnost Microsoft začala měnit většinu funkcí systému Windows z toho, že se spoléhala na interní služby Windows (které běžely ze souborů EXE), aby místo toho používala soubory DLL. Z pohledu programování je kód opětovně použitelný a pravděpodobně snazší udržovat aktuální. Problém je v tom, že nemůžete spustit soubor DLL přímo z Windows stejným způsobem jako spustitelný soubor. Místo toho se k hostování těchto služeb DLL používá prostředí načtené ze spustitelného souboru. A tak se zrodil proces hostitele služby (svchost.exe).

Proč běží tolik procesů hostitelských služeb?

SOUVISEJÍCÍ: Co je to za proces a proč běží na mém PC?

Pokud jste se někdy podívali na sekci Služby v Ovládacích panelech, pravděpodobně jste si všimli, že Windows vyžadují spoustu služeb. Pokud každá jednotlivá služba běžela pod jedním procesem hostitele služby, porucha v jedné službě by mohla potenciálně poškodit celý Windows. Místo toho jsou odděleny.

Služby jsou organizovány do logických skupin, které jsou do jisté míry související, a poté je vytvořena jedna instance hostitele služby pro hostování každé skupiny. Například jeden proces hostitele služby spustí tři služby související s bránou firewall. Jiný proces hostitele služby může spouštět všechny služby související s uživatelským rozhraním atd. Na obrázku níže například vidíte, že jeden proces hostitele služby spouští několik souvisejících síťových služeb, zatímco jiný spouští služby související se vzdálenými voláními procedur.

Existuje pro mě něco společného se všemi těmito informacemi?

SOUVISEJÍCÍ: Měli byste zakázat služby Windows pro zrychlení počítače?

Upřímně řečeno, ne moc. Ve dnech Windows XP (a předchozích verzí), kdy počítače měly mnohem omezenější zdroje a operační systémy nebyly tak vyladěné, bylo často doporučeno zastavit Windows v spouštění nepotřebných služeb. V dnešní době již nedoporučujeme deaktivovat služby. Moderní počítače mají tendenci být nabité pamětí a vysoce výkonnými procesory. Přidejte to k tomu, že způsob, jakým jsou služby Windows zpracovávány v moderních verzích (a jaké služby běží), byl zjednodušen a eliminace služeb, které si myslíte, že nepotřebujete, již nemá velký dopad.

To znamená, že pokud si všimnete, že určitá instance hostitele služby - nebo související služby - způsobuje potíže, jako je neustálé nadměrné používání CPU nebo RAM, můžete zkontrolovat konkrétní služby, kterých se to týká. To vám může přinejmenším poskytnout představu o tom, kde začít s odstraňováním problémů. Existuje několik způsobů, jak zjistit, jaké služby jsou hostovány konkrétní instancí hostitele služby. Můžete zkontrolovat věci ve Správci úloh nebo pomocí skvělé aplikace třetí strany s názvem Process Explorer.

Zaškrtněte Související služby ve Správci úloh

Pokud používáte Windows 8 nebo 10, jsou procesy zobrazeny na kartě „Procesy“ ve Správci úloh jejich plnými názvy. Pokud proces slouží jako hostitel pro více služeb, můžete tyto služby zobrazit jednoduchým rozšířením procesu. Díky tomu je velmi snadné určit, které služby patří ke každé instanci procesu Hostitel služby.

Kliknutím pravým tlačítkem na kteroukoli jednotlivou službu můžete službu zastavit, zobrazit ji v aplikaci Ovládací panely „Služby“ nebo dokonce vyhledat online informace o službě.

Pokud používáte Windows 7, věci se trochu liší. Správce úloh systému Windows 7 neseskupoval procesy stejným způsobem ani nezobrazoval běžné názvy procesů - zobrazoval pouze všechny instance spuštěného souboru „svchost.exe“. Museli jste trochu prozkoumat, abyste určili služby související s konkrétní instancí souboru „svchost.exe“.

Na kartě „Procesy“ ve Správci úloh ve Windows 7 klikněte pravým tlačítkem na konkrétní proces „svchost.exe“ a poté vyberte možnost „Přejít na službu“.

Tím se přesunete na kartu „Služby“, kde jsou vybrány všechny služby běžící pod tímto procesem „svchost.exe“.

Ve sloupci „Popis“ pak můžete vidět celý název každé služby, takže můžete službu deaktivovat, pokud nechcete, aby byla spuštěna, nebo řešit problémy, které vám způsobují.

Zkontrolujte související služby pomocí Průzkumníka procesů

Společnost Microsoft také poskytuje vynikající pokročilý nástroj pro práci s procesy jako součást své řady Sysinternals. Stačí stáhnout Process Explorer a spustit jej - je to přenosná aplikace, takže ji není třeba instalovat. Process Explorer poskytuje všechny druhy pokročilých funkcí - a důrazně doporučujeme přečíst si naši příručku o porozumění produktu Process Explorer, kde se dozvíte více.

SOUVISEJÍCÍ: Co je to přenosná aplikace a proč na ní záleží?

Pro naše účely zde však Process Explorer seskupuje související služby do každé instance „svchost.exe“. Jsou uvedeny podle názvu souboru, ale jejich celé jméno je také uvedeno ve sloupci „Popis“. Můžete také umístit ukazatel myši na některý z procesů „svchost.exe“ a zobrazit vyskakovací okno se všemi službami souvisejícími s tímto procesem - i se službami, které aktuálně nejsou spuštěny.

Může být tento proces virem?

Samotný proces je oficiální součástí systému Windows. I když je možné, že virus nahradil skutečného hostitele služby vlastním spustitelným programem, je velmi nepravděpodobné. Chcete-li si být jisti, můžete zkontrolovat umístění podkladového souboru procesu. Ve Správci úloh klepněte pravým tlačítkem na libovolný proces hostitele služby a vyberte možnost „Otevřít umístění souboru“.

Pokud je soubor uložen ve složce Windows \ System32, můžete si být docela jisti, že se nejedná o virus.

SOUVISEJÍCÍ: Jaký je nejlepší antivirus pro Windows 10? (Je Windows Defender dost dobrý?)

To znamená, že pokud si přesto přejete trochu většího klidu, můžete vždy vyhledávat viry pomocí preferovaného antivirového programu. Jistota je jistota!