На моем рабочем столе работает шесть экземпляров и, вероятно, десять на сервере, которым я управляю. Что это такое и важно ли это для работы системы?
Многие исполняемые компоненты Windows реализованы как службы (см. Все службы на вашем компьютере, открыв Control Panel > Administrative Tools > Services
). Это специализированные программы, работающие в фоновом режиме. Они запускаются не пользователем, вошедшим в систему, а самой операционной системой.
Большинство служб не являются автономными исполняемыми файлами (EXE-файлами), а реализованы в библиотеках (DLL), которые могут использоваться запущенными процессами. Как следует из названия, Svchost или "Service Host" - это стандартный исполняемый файл Windows для запуска этих DLL. Вы можете найти файл svchost.exe в %systemroot%\system32
каталог.
Если вы хотите узнать, какой экземпляр svchost какой сервис выполняет, введите
tasklist /svc /fi "IMAGENAME eq svchost.exe"
в консоли командной строки (cmd).
Например, на машине, на которой я сделал снимок экрана, один из экземпляров svchost запускает 21 службу. Такая группировка сервисов позволяет лучше контролировать и упростить отладку, согласно Документация Microsoft.
Группы Svchost.exe определены в следующем разделе реестра:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost
Совет (если вы используете Windows Vista, Windows 7 или Windows Server 2008): вы можете открыть диспетчер задач и щелкнуть правой кнопкой мыши конкретный процесс svchost.exe, а затем выбрать опцию «Перейти к службе». Это покажет Сервисы вкладка, где все службы, работающие под выбранным svchost.exe
процесс будет отмечен.
В Центре загрузок Microsoft есть очень интересный документ:
Справочник по системным службам Microsoft Windows Server 2003
Этот документ содержит сводку всех служб, доступных для операционных систем семейства Windows Server 2003. Услуги перечислены в алфавитном порядке по отображаемым именам. После описания каждой услуги в таблице приводится основная информация об услуге.
Все службы Windows перечислены со всеми подробностями. Вы узнаете, например, что имя исполняемого файла службы служб терминалов
svchost.exe -k termsvcs
svchost, размещает службы в Windows See КБ. Если вы используете Обозреватель процессов вы можете видеть, какие службы выполняются внутри конкретного процесса.
Svchost - это сокращение от "Service Host". Он поддерживает работу большинства служб на вашем компьютере. Будет несколько служб, которые размещаются в собственном файле .exe, но большинство служб Windows необходимо размещать внутри процесса svchost.exe. Службы на вашем компьютере обрабатывают такие важные вещи, как сеть, сервер RpC, аудио, журнал событий и т. Д.
Введите "services.msc" в меню "Пуск" -> "Выполнить", чтобы просмотреть службы, запущенные на вашем компьютере. Если вы считаете кого-то лишним, вы можете остановить службу.
Введите «список задач / SVC», чтобы увидеть, какие службы размещены в различных файлах svchost.exe.
Вот однострочник PowerShell, который выводит все службы, размещенные в процессах svchost.exe:
PS>get-process svchost | % {get-wmiobject win32_service -filter "processid=$($_.id)"} | format-table processid,name,displayname,state,status -auto
processid name displayname state status
--------- ---- ----------- ----- ------
316 HTTPFilter HTTP SSL Running OK
1328 DcomLaunch DCOM Server Process Launcher Running OK
1328 TermService Terminal Services Running OK
1392 RpcSs Remote Procedure Call (RPC) Running OK
1528 AudioSrv Windows Audio Running OK
1528 BITS Background Intelligent Transfer Service Running OK
1528 Browser Computer Browser Running OK
Укороченная версия однострочника выглядит так:
gps svchost | % {gwmi win32_service -f "processid=$($_.id)"} | ft proc*,name,disp*,stat* -auto
Эта статья может помочь: http://www.gfi.com/blog/exploring-svchostexe-part-1/