Wyjaśnienie co to jest proces hosta usługi (svchost.exe) i dlaczego działa ich tak wiele w Windows
Jeśli kiedykolwiek przeglądaliście Menedżera zadań, być może zastanawiało Was nie raz, dlaczego działa tak wiele procesów Hosta usługi. Nie możemy ich zabić i na pewno ich nie uruchomiliśmy sami w Windows. Czym one są? Proces Hosta usługi służy jako powłoka do ładowania usług z plików bibliotek DLL. Usługi są zorganizowane w powiązane grupy, a każda grupa jest uruchamiana w innej instancji procesu hosta usługi. W ten sposób problem w jednej instancji nie wpływa na inne. Ten proces jest istotną częścią systemu Windows, którego nie da się wyłączyć czy zabić w procesach.
Co to jest proces hosta usługi?
Według Microsoftu:
Svchost.exe to ogólna nazwa procesu hosta dla usług uruchamianych z bibliotek dołączanych dynamicznie.
Niewiele to mówi i wyjaśnia. Jakiś czas temu, Microsoft zaczął zmieniać wiele funkcji systemu Windows z polegania na wewnętrznych usługach systemu Windows (które działały z plików EXE) na korzystanie z plików DLL. Z perspektywy programowania sprawia to, że kod jest bardziej przydatny do wielokrotnego użytku i prawdopodobnie łatwiejszy do aktualizowania. Problem polega na tym, że nie można uruchomić pliku DLL bezpośrednio z systemu Windows w taki sam sposób, jak pliku wykonywalnego. Zamiast tego do hostowania tych usług DLL używana jest powłoka ładowana z pliku wykonywalnego. I tak narodził się proces Hosta usługi (svchost.exe).
Dlaczego działa tak wiele procesów hosta usług?
Jeśli zajrzymy do sekcji Usługi w Panelu sterowania, zauważymy, że system Windows wymaga wielu usług. Gdyby każda pojedyncza usługa działała w ramach jednego procesu Hosta usługi, awaria jednej usługi może potencjalnie spowodować uszkodzenie całego systemu Windows. Zamiast tego są oddzielone, aby zapobiec własnie problemom.
Usługi są zorganizowane w logiczne grupy, które są w pewnym stopniu powiązane, a następnie tworzona jest pojedyncza instancja Hosta usługi do obsługi każdej grupy. Na przykład jeden proces Hosta usługi uruchamia trzy usługi związane z zaporą. Inny proces Hosta usługi może uruchamiać wszystkie usługi związane z interfejsem użytkownika i tak dalej. Na poniższym obrazku widać na przykład, że jeden proces Hosta usługi uruchamia kilka powiązanych usług sieciowych, podczas gdy inny uruchamia usługi związane ze zdalnymi wywołaniami procedur.
Czy można coś zrobić z tymi informacjami?
Niewiele. W czasach Windows XP (i poprzednich wersjach), kiedy komputery PC miały znacznie bardziej ograniczone zasoby, a systemy operacyjne nie były tak dopracowane, często zalecano zatrzymanie systemu Windows przed uruchamianiem niepotrzebnych usług. Obecnie nie zaleca się już wyłączania usług. Współczesne komputery są zwykle wyposażone w pamięć i procesory o dużej mocy. Dodajmy to do faktu, że sposób, w jaki usługi Windows są obsługiwane w nowoczesnych wersjach (i jakie usługi są uruchamiane) został usprawniony, a eliminacja usług, które zdecydujemy ze sa dla nas zbedne i niepotrzebne, nie ma już większego wpływu na wydajność systemu..
Jeśli widzimy, że konkretna instancja Hosta usługi, lub powiązana usługa powoduje problemy, takie jak ciągłe nadmierne użycie procesora lub pamięci RAM, możemy sprawdzić konkretne usługi, które są zaangażowane. To może przynajmniej dać wyobrażenie, od czego zacząć rozwiązywanie problemów. Istnieje kilka sposobów, aby dokładnie sprawdzić, jakie usługi są hostowane przez konkretną instancję Hosta usługi. Możemy sprawdzić rzeczy w Menedżerze zadań lub za pomocą świetnej aplikacji innej firmy o nazwie "Process Explorer".
Sprawdzamy powiązane usługi w Menedżerze zadań
Jeśli używamy systemu Windows 8 lub 10, procesy są wyświetlane na karcie „Procesy” Menedżera zadań pod ich pełnymi nazwami. Jeśli proces służy jako host dla wielu usług, możesz zobaczyć te usługi, po prostu rozszerzając proces. Dzięki temu bardzo łatwo można zidentyfikować, które usługi należą do każdej instancji procesu Host usługi.
Możemy kliknąć prawym przyciskiem myszy dowolną usługę, aby ją zatrzymać, wyświetlić ją w aplikacji Panelu sterowania "Usługi", a nawet wyszukać informacje o usłudze w Internecie.
Jeśli używamy systemu Windows 7, sytuacja wygląda nieco inaczej. Menedżer zadań systemu Windows 7 nie grupował procesów w ten sam sposób ani nie wyświetlał zwykłych nazw procesów - pokazywał tylko wszystkie uruchomione wystąpienia "svchost.exe". Trzeba było trochę poświęcić czasu na badanie które usługi związane są z konkretnym wystąpieniem „svchost.exe”.
Na karcie „Procesy” Menedżera zadań w systemie Windows 7 klikamy prawym przyciskiem myszy konkretny proces „svchost.exe”, a następnie wybiera opcję „Przejdź do usługi”.
Spowoduje to przejście do zakładki "Usługi", gdzie wszystkie usługi uruchomione w ramach tego procesu "svchost.exe" są wybrane.
Następnie możesmy zobaczyć pełną nazwę każdej usługi w kolumnie „Opis”, dzięki czemu możesz wyłączyć usługę, jeśli nie chcemy, aby działała, lub rozwiązać problemy.
Sprawdzamy powiązane usługi za pomocą Eksploratora procesów
Microsoft zapewnia również doskonałe zaawansowane narzędzie do pracy z procesami w ramach oferty Sysinternals. Wystarczy pobrać "Process Explorer" i uruchomić go. Jest to przenośna aplikacja , więc nie trzeba jej instalować. "Process Explorer" grupuje powiązane usługi w każdym wystąpieniu „svchost.exe”. Są one wymienione według nazw plików, ale ich pełne nazwy są również wyświetlane w kolumnie „Opis”. Możesmy także najechać wskaźnikiem myszy na dowolny proces „svchost.exe”, aby wyświetlić wyskakujące okienko ze wszystkimi usługami związanymi z tym procesem , nawet tymi, które nie są obecnie uruchomione.
Czy ten proces może być wirusem?
Sam proces jest oficjalnym składnikiem systemu Windows. Chociaż możliwe jest, że wirus zastąpił prawdziwego hosta usługi własnym plikiem wykonywalnym, jest to bardzo mało prawdopodobne. Jeśli chcemy mieć pewność, możemy sprawdzić podstawową lokalizację pliku procesu. W Menedżerze zadań kliamy prawym przyciskiem myszy dowolny proces Hosta usługi i wybieramy opcję "Otwórz lokalizację pliku".
Jeśli plik jest przechowywany w folderze Windows\System32, możemy być prawie pewni, że nie mamydo czynienia z wirusem.
Jeśli nadal chcemy mieć trochę więcej spokoju, zawsze możesmy skanować system w poszukiwaniu wirusów za pomocą skanera antywirusowego, dodatkowo przeskanowac, jeśli nie mamy zainstalowanego "Malwaresbytes".
Poradnik opracowany przez Andrzej Świech (Illidan) ©® 26.08.20222
Artykuł na licencji Uznanie autorstwa-Użycie niekomercyjne-Na tych samych warunkach 3.0 Polska (CC BY-NC-SA 3.0 PL)
Komentarze
Prześlij komentarz