Статьи

Как определить, какие службы работают под процессом SVCHOST.EXE

Оглавление

  1. Вступление
  2. Определение служб, запущенных в процессе SVCHOST.EXE, с помощью Process Explorer
  3. Определение служб, запущенных в процессе SVCHOST.EXE, с помощью TaskList
  4. Определение служб, запущенных в процессе SVCHOST.EXE в Windows Vista и Windows 7
  5. Определение служб, запущенных в процессе SVCHOST.EXE в Windows 8
  6. Расширенная информация о SVCHOST.EXE
  7. Заключение

Посмотрите сопутствующее видео по Windows XP SVCHOST Вот !
Посмотрите сопутствующее видео по Windows Vista и Windows 7 SVCHOST Вот !

Вступление

Очень распространенный вопрос, который мы видим здесь на Bleeping Computer, касается людей, обеспокоенных тем, что на их компьютере запущено слишком много процессов SVCHOST.EXE. Путаница обычно возникает из-за недостатка знаний о SVCHOST.EXE, его назначении и сервисах Windows в целом. Это руководство прояснит эту путаницу и предоставит информацию о том, что это за процессы и как узнать больше о них. Прежде чем мы продолжим изучение SVCHOST, давайте немного ознакомимся с сервисами Windows.

Службы - это программы Windows, которые запускаются при загрузке Windows и продолжают работать в фоновом режиме без взаимодействия с пользователем. Для тех, кто знаком с операционными системами Unix / Linux, службы Windows похожи на демоны * nix. По большей части службы Windows являются исполняемыми (.EXE) файлами, но некоторые службы также являются DLL-файлами. Поскольку у Windows нет прямого способа выполнения DLL-файла, ей нужна программа, которая может выступать в качестве средства запуска для этих типов программ. В этой ситуации средством запуска для служб DLL является SVCHOST.EXE, также известный как общий процесс хоста для служб Win32 . Каждый раз, когда вы видите процесс SVCHOST, на самом деле это процесс, который управляет одной или несколькими отдельными службами Windows DLL.

Ниже описаны три метода, в зависимости от версии Windows, чтобы увидеть, какие сервисы управляет процесс SVCHOST.EXE на вашем компьютере, а также некоторые дополнительные технические знания о svchost для тех, кто заинтересован.

Определение служб, запущенных в процессе SVCHOST.EXE, с помощью Process Explorer

Process Explorer, от Sysinternals это программа управления процессами, которая позволяет вам видеть запущенные процессы на вашем компьютере и много информации о каждом процессе. Одна из приятных особенностей Process Explorer заключается в том, что он также дает вам возможность увидеть, какими сервисами управляет конкретный процесс SVCHOST.EXE.

Сначала вам нужно скачать Process Explorer со следующего сайта:

Process Explorer

Загрузите файл и сохраните его на жестком диске. После завершения загрузки извлеките файл в его собственную папку и дважды щелкните файл procxp.exe, чтобы запустить программу. Если вы запускаете программу впервые, она отобразит лицензионное соглашение. Согласитесь с лицензионным соглашением и программа продолжится. Когда загрузка будет завершена, вы увидите экран со всеми запущенными процессами на вашем компьютере, как показано на рисунке ниже. Помните, что процессы, которые вы видите на этом изображении, не будут такими же, как на вашем компьютере.

Экран Process Explorer
Экран Process Explorer

Прокрутите список процессов, пока не увидите процесс (ы) SVCHOST.EXE. Чтобы выяснить, какие службы выполняются в конкретном процессе SVCHOST.EXE, нам нужно проверить свойства этого процесса. Для этого дважды щелкните запись SVCHOST.EXE в Process Explorer, и вы увидите экран свойств для процесса, как показано на рисунке ниже.

Свойства SVCHOST
Свойства SVCHOST.EXE

Наконец, для просмотра сервисов, запущенных в этом процессе, нажмите на вкладку Сервисы . Теперь вы увидите экран, аналогичный показанному ниже.

Вкладка «Услуги»
Вкладка «Услуги»

В этом окне отображаются службы, управляемые этим конкретным процессом SVCHOST.EXE. Как вы видите, SVCHOST.EXE, который мы сейчас рассматриваем в этом руководстве, управляет средством запуска процессов DCOM Server и службами терминалов.

Используя этот метод, вы можете определить, какими сервисами управляет процесс SVCHOST.EXE на вашем компьютере.

Определение служб, запущенных в процессе SVCHOST.EXE, с помощью списка задач

Для тех, кто любит возиться в окне командной строки / консоли Windows и имеет Windows XP Pro или Windows 2003, существует программа Windows под названием tasklist.exe, которую можно использовать для отображения списка запущенных процессов и служб на вашем компьютере. , Чтобы использовать список задач для просмотра сервисов, загружаемых конкретным процессом SVCHOST.EXE, просто выполните следующие действия:

1. Нажмите кнопку « Пуск» , а затем нажмите команду меню « Выполнить» .

2. В поле Открыть: введите cmd и нажмите ввод .

3. Теперь вы увидите окно консоли. В командной строке введите tasklist / svc / fi "imagename eq svchost.exe" и нажмите клавишу ввода . Вы увидите список процессов на вашем компьютере, а также сервисы, которыми управляет процесс SVCHOST.EXE. Это можно увидеть на изображении ниже.

Вывод TaskList / svc
Вывод TaskList / svc

Когда вы закончите проверять вывод, вы можете набрать команду exit и нажать клавишу ввода, чтобы закрыть окно консоли.

Определение служб, запущенных в процессе SVCHOST.EXE в Windows Vista и Windows 7

В Windows Vista и Windows 7 улучшен диспетчер задач Windows, и одна из его функций позволяет нам легко увидеть, какие службы контролируются конкретным процессом SVCHOST.EXE. Чтобы начать, просто запустите диспетчер задач, щелкнув правой кнопкой мыши на панели задач и выбрав Диспетчер задач. Когда откроется диспетчер задач, перейдите на вкладку Процессы . Теперь вам будет представлен список процессов, запущенных вашей учетной записью, как показано на рисунке ниже.

,   Текущие пользовательские процессы Windows 7 ,
Текущие пользовательские процессы Windows 7

Нам, однако, нужно увидеть все процессы, запущенные на компьютере. Для этого нажмите на кнопку « Показать все процессы» . Когда вы сделаете это, Windows может попросить вас разрешить авторизации просматривать все процессы, как показано ниже.

Показать все подтверждения процессов
Показать все подтверждения процессов

Нажмите кнопку « Продолжить» , и диспетчер задач перезагрузится, но на этот раз отобразятся все процессы, запущенные в операционной системе. Прокрутите вниз список процессов, пока не увидите процессы SVCHOST, как показано на рисунке ниже.

Все процессы Windows 7
Все процессы Windows 7

Щелкните правой кнопкой мыши процесс SVCHOST и выберите пункт меню « Перейти к сервису» . Теперь вы увидите список служб на вашем компьютере, на которых выделены службы, работающие в рамках этого конкретного процесса SVCHOST. Теперь вы можете легко определить, какие сервисы выполняется конкретным процессом SVCHOST в Windows Vista или Windows 7.

Определение служб, запущенных в процессе SVCHOST.EXE в Windows 8

Диспетчер задач Windows 8 значительно упрощает поиск служб, работающих под конкретным экземпляром SVCHOST.exe. Чтобы получить доступ к диспетчеру задач, введите « Диспетчер задач» на начальном экране Windows 8, а затем щелкните параметр « Диспетчер задач», когда он появится в результатах поиска. Это откроет основной диспетчер задач, как показано на скриншоте ниже.

Совет: Вы также можете использовать комбинацию клавиш Ctrl + Shift + Esc, чтобы автоматически открывать диспетчер задач с любого экрана в Windows.

Совет: Вы также можете использовать комбинацию клавиш Ctrl + Shift + Esc, чтобы автоматически открывать диспетчер задач с любого экрана в Windows

Чтобы увидеть список процессов, нажмите на опцию Подробнее .

Чтобы увидеть список процессов, нажмите на опцию Подробнее

Прокрутите вниз, пока не увидите категорию «Процессы Windows», и найдите записи узла службы, как показано на рисунке ниже.

Прокрутите вниз, пока не увидите категорию «Процессы Windows», и найдите записи узла службы, как показано на рисунке ниже

Рядом с каждым процессом строки узла службы будет маленькая стрелка. Нажмите на эту стрелку, чтобы развернуть эту конкретную запись узла службы, чтобы увидеть, какие службы работают под ней.

Нажмите на эту стрелку, чтобы развернуть эту конкретную запись узла службы, чтобы увидеть, какие службы работают под ней

Под расширенным узлом службы вы увидите список служб, которые работают под ним. Это позволяет легко определить, какими службами управляет конкретный процесс SVCHOST в Windows 8.

Расширенная информация о SVCHOST.EXE

Теперь, когда мы знаем, что один процесс SVCHOST.EXE может загружать и управлять несколькими службами, что определяет, какие службы группируются вместе в экземпляре SVCHOST? Эти группы определяются настройками в следующем разделе реестра Windows:

HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ SVCHOST

Под этим ключом находится набор значений, которые группируют различные сервисы под одним именем. Каждая группа представляет собой значение реестра REG_MULTI_SZ, которое содержит список имен служб, принадлежащих этой группе. Ниже вы увидите стандартные группы, найденные в XP Pro.

Имя группы

Услуги в группе

LocalService Alerter, WebClient, LmHosts, RemoteRegistry, upnphost, SSDPSRV NetworkService DnsCache netsvcs 6to4, AppMgmt, AudioSrv, браузер, CryptSvc, DMServer, DHCP,
ERSvc, EventSystem, FastUserSwitchingCompatibility, HidServ, Ias,
Iprip, Irmon, LanmanServer, LanmanWorkstation, Messenger, Netman,
Nla, Ntmssvc, NWCWorkstation, Nwsapagent, Rasauto, Rasman, Remoteaccess,
Расписание, Seclogon, SENS, Sharedaccess, SRService, Tapisrv, Темы, TrkWks,
W32Time, WZCSVC, Wmi, WmdmPmSp, winmgmt, TermService, wuauserv,
BITS, ShellHWDetection, helpvc, xmlprov, wscsvc, WmdmPmSN rpcss RpcSs imgsvc StiSvc Termsvcs TermService HTTPFilter HTTPFilter DcomLaunch DcomLaunch, TermService

Каждое из имен служб в этих группах соответствует записи службы в разделе реестра Windows:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services

Под каждой из этих записей службы есть подраздел Parameters, который содержит значение ServiceDLL, соответствующее DLL, которая используется для запуска службы.

Когда Windows загружается, она начинает запускать службы, которые включены и имеют автоматический запуск. Некоторые службы запускаются с помощью команды SVCHOST.exe. Когда Windows пытается запустить один из этих типов служб, и в настоящее время для этой группы служб не запущен экземпляр svchost, она создаст новый экземпляр SVCHOST и затем загрузит DLL, связанную с этой службой. С другой стороны, если для этой группы уже запущен процесс SVCHOST, он просто загрузит новый сервис, используя этот существующий процесс. Служба, которая использует SVCHOST для своей инициализации, предоставляет имя группы в качестве параметра для команды svchost.exe. Примером может быть:

C: \ WINDOWS \ system32 \ svchost.exe -k DcomLaunch

В приведенной выше командной строке процесс svchost найдет ServiceDLL, связанный с именем службы, из группы DcomLaunch и загрузит его.

Это может сбивать с толку, поэтому давайте использовать пример. Существует служба Windows, которая называется « Клиент отслеживания распределенных ссылок» и имеет имя службы TrkWks. Если мы рассмотрим таблицу выше, мы увидим, что служба TrkWks является частью группы netsvcs . Если мы посмотрим на ключ реестра для этой службы, то увидим, что его ServiceDLL является % SystemRoot% \ system32 \ trkwks.dll . Поэтому, используя эту информацию и то, что мы узнали выше, мы знаем, что исполняемая команда для службы TrkWks должна быть:

C: \ WINDOWS \ system32 \ svchost.exe -k netsvcs

Когда служба TrkWks запущена, Windows проверит, существует ли процесс SVCHOST для уже созданной группы netsvcs. Если нет, то он создаст экземпляр одного для обработки сервисов в группе netsvcs. Затем процесс SVCHOST для netsvcs запустит службу, выполнив % SystemRoot% \ system32 \ trkwks.dll . Как только DLL будет загружена SVCHOST, сервис будет в запущенном состоянии.

Заключение

Теперь, когда вы понимаете, что такое SVCHOST.EXE и как он управляет определенными службами Windows, просмотр нескольких экземпляров в списке процессов больше не должен быть загадкой или проблемой. Нередко на вашем компьютере работают многочисленные записи SVCHOST, иногда до 8 или 9 записей. Если вас интересует, что работает под этими процессами, просто используйте шаги, описанные выше, чтобы проверить их службы. Если вы не знаете, что делает конкретная служба, и вам нужна помощь, не стесняйтесь задавать любые вопросы, которые могут у вас возникнуть в нашей Windows форумы ,

EXE может загружать и управлять несколькими службами, что определяет, какие службы группируются вместе в экземпляре SVCHOST?
2011.11.19
Карта