Что такое conhost.exe и почему он запускается?

Вы, несомненно, читаете эту статью, потому что наткнулись на процесс Console Window Host (conhost.exe) в диспетчере задач и задаетесь вопросом, что это такое. У нас есть для вас ответ.

СВЯЗАННЫЕ: Что это за процесс и почему он выполняется на моем компьютере?

Эта статья является частью нашей текущей серии, в которой объясняются различные процессы, обнаруженные в диспетчере задач, такие как svchost.exe, dwm.exe, ctfmon.exe, mDNSResponder.exe, rundll32.exe, Adobe_Updater.exe и многие другие. Не знаете, что это за услуги? Лучше начни читать!

Так что же такое хост-процесс окна консоли?

Для понимания процесса Console Window Host требуется немного истории. Во времена Windows XP командная строка обрабатывалась процессом под названием ClientServer Runtime System Service (CSRSS). Как следует из названия, CSRSS была услугой системного уровня. Это создало пару проблем. Во-первых, сбой в CSRSS может вывести из строя всю систему, что выявит не только проблемы с надежностью, но и возможные уязвимости безопасности. Вторая проблема заключалась в том, что CSRSS нельзя было тематизировать, потому что разработчики не хотели рисковать тем, чтобы код темы запускался в системном процессе. Таким образом, командная строка всегда имела классический вид, а не использовала новые элементы интерфейса.

Обратите внимание на снимке экрана Windows XP ниже, что командная строка не имеет того же стиля, что и такое приложение, как Блокнот.

СВЯЗАННЫЕ: Что такое диспетчер окон рабочего стола (dwm.exe) и почему он работает?

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

Тем не менее, эта тематика зашла так далеко. Если вы посмотрите на консоль в Windows Vista, похоже, что она использует ту же тему, что и все остальное, но вы заметите, что полосы прокрутки по-прежнему используют старый стиль. Это связано с тем, что диспетчер окон рабочего стола обрабатывает отрисовку строк заголовка и фрейма, но старомодное окно CSRSS все еще находится внутри.

Войдите в Windows 7 и процесс Console Window Host. Как следует из названия, это хост-процесс для окна консоли. Процесс находится посередине между CSRSS и командной строкой (cmd.exe), что позволяет Windows исправить обе предыдущие проблемы - элементы интерфейса, такие как полосы прокрутки, отображаются правильно, и вы снова можете перетащить их в командную строку. И этот метод до сих пор используется в Windows 8 и 10, позволяя использовать все новые элементы интерфейса и стили, появившиеся со времен Windows 7.

Несмотря на то, что диспетчер задач представляет хост окна консоли как отдельный объект, он по-прежнему тесно связан с CSRSS. Если вы проверите процесс conhost.exe в Process Explorer, вы увидите, что он действительно выполняется под процессом csrss.ese.

В конце концов, Console Window Host - это что-то вроде оболочки, которая поддерживает возможности запуска службы системного уровня, такой как CSRSS, при этом безопасно и надежно предоставляя возможность интеграции современных элементов интерфейса.

Почему запущено несколько экземпляров процесса?

Вы часто будете видеть несколько экземпляров процесса Console Window Host, запущенного в диспетчере задач. Каждый запущенный экземпляр командной строки порождает свой собственный процесс хоста окна консоли. Кроме того, другие приложения, использующие командную строку, будут запускать собственный процесс Console Windows Host, даже если вы не видите для них активного окна. Хорошим примером этого является приложение Plex Media Server, которое работает как фоновое приложение и использует командную строку, чтобы сделать себя доступным для других устройств в вашей сети.

Многие фоновые приложения работают таким образом, поэтому нередко можно увидеть несколько экземпляров процесса Console Window Host, запущенных в любой момент времени. Это нормальное поведение. По большей части каждый процесс должен занимать очень мало памяти (обычно менее 10 МБ) и почти нулевой ЦП, если процесс не активен.

Тем не менее, если вы заметили, что конкретный экземпляр Console Window Host или связанная с ним служба вызывает проблемы, такие как постоянное чрезмерное использование ЦП или ОЗУ, вы можете проверить конкретные задействованные приложения. По крайней мере, это может дать вам представление о том, с чего начать устранение неполадок. К сожалению, сам диспетчер задач не дает точной информации об этом. Хорошая новость заключается в том, что Microsoft предоставляет отличный продвинутый инструмент для работы с процессами как часть своей линейки Sysinternals. Просто скачайте Process Explorer и запустите его - это портативное приложение, поэтому устанавливать его не нужно. Process Explorer предоставляет всевозможные расширенные функции - и мы настоятельно рекомендуем прочитать наше руководство по пониманию Process Explorer, чтобы узнать больше.

СВЯЗАННЫЕ: Что такое «портативное» приложение и почему оно важно?

Самый простой способ отследить эти процессы в Process Explorer - сначала нажать Ctrl + F, чтобы начать поиск. Найдите «conhost» и просмотрите результаты. Когда вы это сделаете, вы увидите, что главное окно изменится, чтобы показать вам приложение (или службу), связанное с этим конкретным экземпляром Console Window Host.

Если использование ЦП или ОЗУ указывает на то, что это экземпляр, вызывающий у вас проблемы, то, по крайней мере, вы сузили его до определенного приложения.

Может ли этот процесс быть вирусом?

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

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

На самом деле существует троян Conhost Miner, который маскируется под хост-процесс окна консоли. В диспетчере задач он выглядит так же, как реальный процесс, но небольшое копание покажет, что на самом деле он хранится в %userprofile%\AppData\Roaming\Microsoftпапке, а не в Windows\System32папке. Троян на самом деле используется для захвата вашего ПК для добычи биткойнов, поэтому другое поведение, которое вы заметите, если он установлен в вашей системе, заключается в том, что использование памяти выше, чем вы могли ожидать, а использование ЦП остается на очень высоком уровне (часто выше 80%).

СВЯЗАННЫЕ: Какой лучший антивирус для Windows 10? (Достаточно ли хорош Защитник Windows?)

Конечно, использование хорошего антивирусного сканера - лучший способ предотвратить (и удалить) вредоносное ПО, такое как Conhost Miner, и вы в любом случае должны это делать. Береженого Бог бережет!