Jeśli kiedykolwiek przeglądałeś Menedżera zadań, być może zastanawiałeś się, dlaczego działa tak wiele procesów hosta usługi. Nie możesz ich zabić i na pewno ich nie uruchomiłeś. Więc czym one są?
Proces hosta usługi służy jako powłoka do ładowania usług z plików DLL. Usługi są zorganizowane w pokrewne grupy, a każda grupa jest uruchamiana w innej instancji procesu hosta usługi. W ten sposób problem w jednym wystąpieniu nie wpływa na inne wystąpienia. Ten proces jest istotną częścią systemu Windows, której nie można uniemożliwić.
Ten artykuł jest częścią nasza trwająca seria wyjaśniając różne procesy występujące 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 to usługi? Lepiej zacznij czytać!
Więc co to jest proces hosta usługi?
Oto odpowiedź, według firmy Microsoft:
Svchost.exe to ogólna nazwa procesu hosta dla usług uruchamianych z bibliotek dołączanych dynamicznie.
Ale to niewiele nam pomaga. Jakiś czas temu Microsoft zaczął zmieniać wiele funkcji systemu Windows z polegania na wewnętrznych usługach Windows (które działały z plików EXE) na używanie plików DLL. Z perspektywy programowania sprawia to, że kod jest bardziej przydatny do ponownego wykorzystania 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 w przypadku pliku wykonywalnego. Zamiast tego do obsługi tych usług DLL używana jest powłoka ładowana z pliku wykonywalnego. I tak narodził się proces Service Host (svchost.exe).
Dlaczego jest uruchomionych tak wiele procesów hosta usługi?
ZWIĄZANE Z: Co to jest proces i dlaczego działa na moim komputerze?
Jeśli kiedykolwiek spojrzałeś na sekcję Usługi w Panelu sterowania, prawdopodobnie zauważyłeś, że system Windows wymaga wielu usług. Jeśli każda 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.
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 przykład na poniższym obrazku widać, ż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 jest coś, co muszę zrobić z tymi wszystkimi informacjami?
ZWIĄZANE Z: Czy należy wyłączyć usługi systemu Windows, aby przyspieszyć działanie komputera?
Szczerze mówiąc, niewiele. W czasach systemu Windows XP (i poprzednich wersji), kiedy komputery PC miały znacznie bardziej ograniczone zasoby, a systemy operacyjne nie były tak dopracowane, często zalecano zatrzymywanie systemu Windows przed uruchamianiem niepotrzebnych usług. W te dni, nie zalecamy wyłączania usług już. Nowoczesne komputery są zwykle ładowane pamięcią i procesorami o dużej mocy. Dodaj to do faktu, że sposób, w jaki usługi Windows są obsługiwane w nowoczesnych wersjach (i jakie usługi działają) został usprawniony, a wyeliminowanie usług, które Twoim zdaniem nie są potrzebne, naprawdę nie ma już większego wpływu.
To powiedziawszy, jeśli zauważysz, ż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żesz sprawdzić określone usługi, których to dotyczy. To może przynajmniej dać ci pomysł, od czego zacząć rozwiązywanie problemów. Istnieje kilka sposobów sprawdzenia, jakie dokładnie usługi są hostowane przez określoną instancję hosta usługi. Możesz sprawdzić rzeczy w Menedżerze zadań lub za pomocą świetnej aplikacji innej firmy o nazwie Process Explorer.
Sprawdź usługi powiązane w Menedżerze zadań
Jeśli używasz systemu Windows 8 lub 10, procesy są wyświetlane na karcie „Procesy” Menedżera zadań według ich pełnych nazw. Jeśli proces służy jako host dla wielu usług, możesz wyświetlić 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ąć prawym przyciskiem myszy dowolną usługę, aby zatrzymać usługę, wyświetlić ją w aplikacji Panelu sterowania „Usługi”, a nawet wyszukać informacje o usłudze w Internecie.
Jeśli używasz 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 pokazywał zwykłych nazw procesów - pokazywał tylko wszystkie uruchomione wystąpienia „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 określony proces „svchost.exe”, a następnie wybierz opcję „Przejdź do usługi”.
Spowoduje to przejście do zakładki „Usługi”, gdzie wszystkie usługi działające w ramach tego procesu „svchost.exe” są zaznaczone.
Możesz wtedy zobaczyć pełną nazwę każdej usługi w kolumnie „Opis”, dzięki czemu możesz wyłączyć usługę, jeśli nie chcesz, aby działała, lub rozwiązać, dlaczego powoduje ona problemy.
Sprawdź usługi pokrewne za pomocą Process Explorer
Firma Microsoft zapewnia również doskonałe zaawansowane narzędzie do pracy z procesami w ramach oferty Sysinternals. Po prostu pobierz Process Explorer i uruchom go - to jest plik przenośna aplikacja więc nie trzeba go instalować. Process Explorer zapewnia wszelkiego rodzaju zaawansowane funkcje - zalecamy przeczytanie naszego przewodnik po zrozumieniu Process Explorer uczyć się więcej.
ZWIĄZANE Z: Co to jest aplikacja „przenośna” i dlaczego ma to znaczenie?
Jednak dla naszych celów w tym miejscu Process Explorer grupuje powiązane usługi w każdym wystąpieniu „svchost.exe”. Są wymienione według nazw plików, ale ich pełne nazwy są również widoczne w kolumnie „Opis”. Możesz 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 obecnie nie są 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 będącego podstawą procesu. W Menedżerze zadań kliknij prawym przyciskiem myszy dowolny proces hosta usługi i wybierz opcję „Otwórz lokalizację pliku”.
Jeśli plik jest przechowywany w folderze Windows \ System32, możesz być prawie pewien, że nie masz do czynienia z wirusem.
To powiedziawszy, jeśli nadal chcesz mieć trochę więcej spokoju, zawsze możesz skanować w poszukiwaniu wirusów za pomocą Twój preferowany skaner antywirusowy . Lepiej dmuchać na zimne!