Главная > Разное > Почему экземпляров svchost.exe запущено так много

Почему экземпляров svchost.exe запущено так много

Готов спорить, увидев первый раз диспетчер задач системы Windows(в частности 2000,XP или их современниц), вы задались вопросом - откуда столько экземпляров процесса svchost.exe. Я регулярно слышу подобный вопрос от своих знакомых на протяжении многих лет. Сегодня я попробую написать ответ.

Что такое процесс svchost.exe, отлично расписано в статье базы знаний Microsoft:

Файл Svchost.exe расположен в папке %SystemRoot%\System32. В процессе загрузки Svchost.exe составляет на основании записей в реестре список служб, которые необходимо запустить. Одновременно может быть запущено несколько экземпляров процесса Svchost.exe. Каждый сеанс Svchost.exe может содержать несколько служб. Таким образом, в зависимости от того, как и где запущен процесс Svchost.exe, могут выполняться несколько отдельных служб. Такая группировка служб обеспечивает более высокий уровень контроля над ними и облегчает отладку.

Группы Svchost.exe определяются в следующем разделе реестра:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost
Каждое значение в этом разделе представляет отдельную группу Svchost и отображается при просмотре активных процессов как отдельный экземпляр. Каждое из этих значений имеет тип REG_MULTI_SZ и содержит службы, выполняемые в этой группе Svchost. Каждая группа Svchost может содержать одно или несколько имен служб, извлекаемых из следующего раздела реестра, в котором подраздел Parameters содержит значение ServiceDLL:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Служба

Резюмируя вышесказанное, можно охарактеризовать Svchost.exe как процесс, запускающий необходимые операционной системе службы. Службы группируются на основании какого либо признака, каждая запущенная группа представляет собой отдельный процесс Svchost.exe.

Список служб svchost.exe. Способ №1

Вы можете легко выяснить, какие службы запущены конкретным экземпляром файла svchost. Если ваша текущая ОС - достаточно современная, т.е. Windows Vistaили Windows 7, можно воспользоваться Диспетчером задач. Перейдите на вкладку "Процессы" и выделите один из экземпляров svchost.exe. Щелкните по нему правой кнопкой мыши и в контекстном меню выберите "Перейти к службам"

Службы, запущенные конкретным Svchost.exe, будут выделены:

Список служб svchost.exe. Способ №2

Если у вас операционная система, отличная от Windows Vista или Windows 7, например, Windows XP, Диспетчер задач в ней не такой "продвинутый", и описанных в способе №1 возможностей не предоставляет. Однако, встроенными средствами просмотреть службы, запущенные svchost, всё же можно. Выполните в командной строке:

tasklist /svc


Вполне информативно.

Список служб svchost.exe. Способ №3

Последний способ - универсальный для всех NT-систем. Для просмотра служб svchost.exe можно воспользоваться приложением SysInternals ProcessExplorer. Она покажет все службы, относящиеся к конкретному экземпляру файла svchost.exe.

Я позволю себе рекомендовать читателю ознакомиться и регулярно пользоваться приложением SysInternals ProcessExplorer, причем оригинальной английской версией (на скриншоте изображена локализованная неофициальная версия). Очень полезная и очень мощная программа для управления процессами ОС, предоставляющая исчерпывающую информацию.

Надеюсь, теперь обилие svchost.exe не будет вызывать у вас вопросов.

Winreview.ru можно найти в Вконтакте, Facebook и Twitter. Присоединяйтесь!

Комментарии

  1. Agrom

    Спасибо. Тоже раньше задавался таким вопросом. Теперь всё понятно.

    Почему именно оригинальной английской версией SysInternals ProcessExplorer?

    Так же процессы svchost.exe иногда скачивают с интернета мегабайты данных.

    Обновление не запускал.

    Что это за данные и откуда скачиваются?

  2. Сергей Ткаченко

    Оригинальной, потому что это как-никак не видоизмененный третьими сторонами исполняемый файл. Подобные модификации могут отрицательно сказаться на работе утилиты.

    svchost управляет кучей служб. В вашем случае это мог быть Защитник Windows или иная другая сетевая служба.

  3. Spispi

    Перейдите на вкладку "Службы" и выделите один из экземпляров svchost.exe

    Вместо "Службы" надо "Процессы"

  4. Сергей Ткаченко

    @Spispi
    Спасибо, исправил

Написать комментарий