If-Koubou

Co to jest Service Host Process (svchost.exe) i dlaczego jest tak wiele uruchomionych?

Co to jest Service Host Process (svchost.exe) i dlaczego jest tak wiele uruchomionych? (Jak)

Jeśli kiedykolwiek przeglądałeś Menedżera zadań, możesz zastanawiać się, dlaczego jest tak wiele procesów Hosta usługi. Nie możesz ich zabić, a ty na pewno ich nie uruchomiłeś. Czym one są?

Proces Host usługi służy jako powłoka do ładowania usług z plików DLL. Usługi są zorganizowane w powiązane grupy, a każda grupa jest uruchamiana w innej instancji procesu Host hosta. W ten sposób problem w jednym wystąpieniu nie ma wpływu na inne wystąpienia. Ten proces jest istotną częścią systemu Windows, której nie można uniemożliwić.

Ten artykuł jest częścią naszych bieżących serii wyjaśniających różne procesy znalezione w Menedżerze zadań, takie jak dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe i wiele innych. Nie wiesz, jakie są te usługi? Lepiej zacznij czytać!

Więc jaki jest proces hostingu usługi?

Oto odpowiedź, według Microsoft:

Svchost.exe to ogólna nazwa procesu hosta dla usług uruchamianych z bibliotek dołączanych dynamicznie.

Ale to nam nie pomaga. Jakiś czas temu Microsoft zaczął zmieniać wiele funkcji systemu Windows, opierając się na wewnętrznych usługach Windows (które uruchamiały się z plików EXE) na plikach DLL. Z perspektywy programowania sprawia to, że kod staje się bardziej przydatny do wielokrotnego użytku i prawdopodobnie łatwiej jest go aktualizować. Problem polega na tym, że nie można uruchomić pliku DLL bezpośrednio z systemu Windows w taki sam sposób jak plik wykonywalny. Zamiast tego do hostowania tych usług DLL używana jest powłoka załadowana z pliku wykonywalnego. I tak powstał proces Hosta usługi (svchost.exe).

Dlaczego jest tak wiele procesów hostowania usług?

Jeśli kiedykolwiek zapoznałeś się z sekcją Usługi w Panelu sterowania, prawdopodobnie zauważyłeś, że system Windows wymaga wielu usług. Jeśli każda usługa jest uruchamiana w ramach jednego procesu Hosta usługi, awaria jednej usługi może potencjalnie spowodować uszkodzenie całego systemu Windows. Zamiast tego są oddzielone.

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, aby hostować każdą grupę. Na przykład jeden proces Host usługi uruchamia trzy usługi związane z zaporą. Inny proces Host usługi może uruchomić wszystkie usługi związane z interfejsem użytkownika i tak dalej. Na poniższym obrazku widać, że jeden proces Hosta usługi obsługuje kilka powiązanych usług sieciowych, a inny wykonuje usługi związane ze zdalnymi wywołaniami procedur.

Czy jest coś do zrobienia ze wszystkimi tymi informacjami?

Szczerze mówiąc, nie dużo. W czasach systemu Windows XP (i poprzednich wersji), gdy komputery miały znacznie ograniczone zasoby, a systemy operacyjne nie były tak dobrze dostrojone, często zalecano wstrzymywanie systemu Windows od uruchamiania niepotrzebnych usług. Obecnie nie zalecamy wyłączania usług. Współczesne komputery PC są zwykle wyposażone w pamięć i procesory o dużej mocy. Dodajmy do tego, że sposób, w jaki usługi Windows są obsługiwane we współczesnych wersjach (i jakie usługi są uruchamiane) został usprawniony, a wyeliminowanie usług, które uważasz, że nie potrzebujesz naprawdę nie mają już większego wpływu.

To powiedziawszy, jeśli zauważysz, że konkretna instancja Hosta usługi lub związana z nim usługa powoduje problemy, takie jak ciągłe nadmierne użycie procesora lub pamięci RAM, możesz sprawdzić konkretne usługi, które są zaangażowane. To może przynajmniej dać ci pojęcie, od czego zacząć rozwiązywanie problemów. Istnieje kilka sposobów sprawdzania, jakie dokładnie usługi są hostowane przez konkretną instancję Hosta usługi. Możesz sprawdzić rzeczy w Menedżerze zadań lub korzystając z doskonałej aplikacji innej firmy o nazwie Process Explorer.

Sprawdź powiązane usługi w Menedżerze zadań

Jeśli używasz systemu Windows 8 lub 10, procesy są wyświetlane na karcie "Procesy" w Menedżerze zadań według ich pełnych nazw. 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 jest zidentyfikować, które usługi należą do każdej instancji procesu Hosta usługi.

Możesz kliknąć pojedynczą usługę prawym przyciskiem myszy, aby zatrzymać usługę, wyświetlić ją w aplikacji Panel sterowania "Usługi", a nawet wyszukać online informacje o usłudze.

Jeśli używasz systemu Windows 7, sprawy wyglądają nieco inaczej. Menedżer zadań Windows 7 nie grupował procesów w ten sam sposób, ani nie wyświetlał zwykłych nazw procesów - pokazywał tylko wszystkie instancje "svchost.exe". Trzeba było trochę zbadać, aby określić usługi związane z konkretnym wystąpieniem "svchost.exe".

Na karcie "Procesy" Menedżera zadań w systemie Windows 7 kliknij prawym przyciskiem myszy konkretny proces "svchost.exe", a następnie wybierz opcję "Przejdź do usługi".

Spowoduje to przejście na kartę "Usługi", gdzie wszystkie usługi uruchomione w ramach tego procesu "svchost.exe" są wybrane.

Możesz wtedy zobaczyć pełną nazwę każdej usługi w kolumnie "Opis", aby można było wyłączyć tę usługę, jeśli nie chcesz, aby była uruchomiona, lub rozwiązywać problemy powodujące problemy.

Sprawdź podobne usługi za pomocą Eksploratora procesów

Microsoft zapewnia również doskonałe zaawansowane narzędzie do pracy z procesami w ramach swojego zestawu Sysinternals. Po prostu pobierz Process Explorer i uruchom go - jest to przenośna aplikacja, więc nie trzeba jej instalować. Process Explorer oferuje wszystkie zaawansowane funkcje i zdecydowanie zalecamy przeczytanie naszego przewodnika po zrozumieniu Eksploratora procesów, aby dowiedzieć się więcej.

Jednak dla naszych celów grupa Process Explorer grupuje usługi związane z każdą instancją "svchost.exe". Są one wyświetlane według nazw ich plików, ale ich pełne nazwy są również widoczne w kolumnie "Opis". Możesz również najechać wskaźnikiem myszy na dowolny z procesów "svchost.exe", aby wyświetlić wyskakujące okienka z wszystkimi usługami związanymi z tym procesem - nawet te, które nie są aktualnie uruchomione.

Czy ten proces może być wirusem?

Sam proces jest oficjalnym składnikiem systemu Windows. Chociaż możliwe jest, że wirus zastąpił prawdziwy Host usługi własnym plikiem wykonywalnym, jest to bardzo mało prawdopodobne. Jeśli chcesz mieć pewność, możesz sprawdzić lokalizację pliku, w którym znajduje się plik. W Menedżerze zadań kliknij prawym przyciskiem myszy dowolny proces Host usługi i wybierz opcję "Otwórz lokalizację pliku".

Jeśli plik jest przechowywany w folderze Windows \ System32, możesz mieć pewność, że nie masz do czynienia z wirusem.

To powiedziawszy, jeśli nadal chcesz trochę spokojniej, zawsze możesz skanować w poszukiwaniu wirusów za pomocą preferowanego skanera antywirusowego. Lepiej dmuchać na zimne!