База знаний, администрирование Windows, Linux

Что такое svchost.exe и почему он запущен на моем ПК

0 4

Если вы когда-либо просматривали Диспетчер задач, возможно, вы задавались вопросом, почему запущено так много процессов Service Host. Вы не можете завершить их, и вы точно не запускали их. Итак, что это?

Что такое Service Host Process (svchost.exe)?

Вот ответ, согласно Microsoft:

Svchost.exe — это общее имя хоста для служб, которые запускаются из библиотек динамической компоновки.

Но это не очень проясняет ситуацию. Некоторое время назад Microsoft начала менять большую часть функционала Windows, службы, которые запускались из файлов EXE, заменялись тему, которые используют DLL-файлы. С точки зрения программирования это делает код более многоразовым и его, возможно, легче поддерживать в актуальном состоянии. Проблема в том, что вы не можете запускать DLL-файл непосредственно из Windows так же, как и исполняемый файл. Вместо этого оболочка, загружаемая из исполняемого файла, используется для размещения этих DLL-сервисов. Итак, появился процесс Service Host (svchost.exe).

Почему работает так много процессов svchost.exe?

Если вы когда-либо просматривали раздел «Службы» в панели управления, вы, вероятно, заметили, что Windows запускает много служб. Если каждая отдельная служба работает под одним хостом, завершение одной службы может привести к сбою всего Windows. Вместо этого они отделены друг от друга.

Службы организованы в логические группы, которые связаны друг с другом, а затем создается один экземпляр хоста службы для размещения каждой группы. Например, один процесс Service Host запускает три службы, связанные с брандмауэром. Другой процесс svchost.exe может запускать все службы, связанные с пользовательским интерфейсом, и так далее.

Что вообще можно сделать с svchost.exe?

Честно говоря, не так много. Во времена Windows XP (и предыдущих версий), когда ПК имели гораздо более ограниченные ресурсы, а операционные системы были не совсем точно настроены, часто рекомендовалось отключать ненужных сервисы Windows. В наши дни мы больше не рекомендуем отключать службы. Современные ПК, как правило, имеют мощные память и процессор. Добавьте к этому тот факт, что способ обработки Windows-сервисов в современных версиях был оптимизирован, и устранение служб, которые, по вашему мнению, вам не нужны, действительно не имеют большого влияния на систему.

Тем не менее, если вы заметили, что конкретный экземпляр Service Host или связанная с ним служба вызывает проблемы, такие как постоянное чрезмерное использование процессора или ОЗУ, вы можете проверить специфические сервисы, которые задействованы. Это может по крайней мере дать вам представление о том, где начать поиск и устранение неисправностей. Существует несколько способов узнать, какие службы запускаются определенным экземпляром Service Host. Вы можете проверить работу диспетчера задач или использовать стороннее приложение, например Process Explorer.

Проверка связанных служб в диспетчере задач

Если вы используете Windows 8 или 10, процессы отображаются на вкладке «Процессы» диспетчера задач по их полному имени. Если процесс служит хостом для нескольких служб, вы можете увидеть эти службы, просто развернув процесс. Это позволяет легко определить, какие службы относятся к каждому экземпляру процесса Service Host.

Вы можете щелкнуть правой кнопкой мыши по любой отдельной службе, чтобы остановить ее, просмотреть ее в приложении «Службы» или даже выполнить поиск в Интернете для получения информации о ней.

Если вы используете Windows 7, все немного по-другому. Диспетчер задач Windows 7 не группирует процессы таким же образом и не отображает обычные имена процессов — он показывает все экземпляры «svchost.exe». Для того, чтобы определить службы, связанные с любым конкретным экземпляром «svchost.exe» необходимо немного заморочиться.

На вкладке «Процессы» диспетчера задач в Windows 7 щелкните правой кнопкой мыши по определенному процессу «svchost.exe», а затем выберите вариант «Перейти к сервису».

Это переведет вас на вкладку «Службы», где все службы, запущенные под этим процессом «svchost.exe», будут выбраны.

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

Проверка связанных сервисов с помощью Process Explorer

Microsoft также предоставляет отличный передовой инструмент для работы с процессами в составе линейки Sysinternals. Просто загрузите Process Explorer и запустите его — это портативное приложение, поэтому нет необходимости его устанавливать.

Для наших целей, Process Explorer группирует связанные службы в каждом экземпляре «svchost.exe». Они перечислены в именах файлов, их полные имена также отображаются в столбце «Описание». Вы также можете навести указатель мыши на любой из процессов «svchost.exe», чтобы увидеть всплывающее окно со всеми службами, связанными с этим процессом, — даже теми, которые в настоящее время не выполняются.

Может ли svchost.exe быть вирусом?

Сам процесс является официальным компонентом Windows. В теории, вирус может заменить реальный svchost.exe собственным исполняемым файлом, это это очень маловероятно. Если вы хотите быть уверенным, можете проверить базовое расположение файла процесса. В диспетчере задач щелкните правой кнопкой мыши любой процесс Service Host и выберите опцию «Открыть расположение файла».

Если файл хранится в папке «Windows\System32», вы можете быть уверены, что не имеете дело с вирусом.

Тем не менее, если вы все еще хотите немного больше спокойствия, вы всегда можете просканировать компьютер с помощью вашего антивирусного ПО. Береженого Бог бережет!

Оставьте ответ

Ваш электронный адрес не будет опубликован.