什么是conhost.exe,为什么运行?
您无疑会阅读本文,因为您偶然发现了任务管理器中的控制台窗口宿主(conhost.exe)进程,并且想知道它是什么。我们为您找到了答案。
有关的:这是什么过程,为什么要在我的PC上运行?
本文是我们正在进行的系列文章的一部分,解释了在任务管理器中找到的各种过程,例如svchost.exe,dwm.exe,ctfmon.exe,mDNSResponder.exe,rundll32.exe,Adobe_Updater.exe等。不知道这些服务是什么?最好开始阅读!
那么,控制台窗口宿主进程是什么?
了解控制台窗口主机进程需要一些历史记录。在Windows XP时代,命令提示符由名为ClientServer运行时系统服务(CSRSS)的进程处理。顾名思义,CSRSS是系统级服务。这带来了两个问题。首先,CSRSS崩溃可能会导致整个系统瘫痪,这不仅暴露了可靠性问题,而且还暴露了可能的安全漏洞。第二个问题是CSRSS不能成为主题,因为开发人员不想冒险在系统进程中运行主题代码。因此,命令提示符始终具有经典外观,而不是使用新的界面元素。
请注意,在下面的Windows XP屏幕快照中,命令提示符的样式与记事本之类的应用程序不同。
有关的:什么是桌面窗口管理器(dwm.exe),为什么运行?
Windows Vista引入了“桌面窗口管理器”(Desktop Window Manager),该服务可将窗口的复合视图“绘制”到您的桌面上,而不是让每个单独的应用程序自己处理。命令提示符从中获得了一些肤浅的主题(例如其他窗口中的玻璃框),但它的代价是能够将文件,文本等拖放到命令提示符窗口中。
尽管如此,该主题只是到目前为止。如果您看一下Windows Vista中的控制台,它看起来与其他所有主题都使用相同的主题,但是您会注意到滚动条仍在使用旧样式。这是因为桌面窗口管理器可以处理标题栏和框架,但是老式的CSRSS窗口仍位于其中。
输入Windows 7和控制台窗口主机进程。顾名思义,它是控制台窗口的宿主进程。该过程位于CSRSS和命令提示符(cmd.exe)之间的中间位置,从而使Windows可以解决前面的两个问题-滚动条之类的界面元素可以正确绘制,并且您可以再次将其拖放到命令提示符中。这就是Windows 8和10中仍然使用的方法,允许Windows 7以后出现的所有新界面元素和样式。
即使任务管理器将控制台窗口主机显示为单独的实体,它仍与CSRSS紧密关联。如果在Process Explorer中检出conhost.exe进程,则可以看到它实际上在csrss.ese进程下运行。
最后,控制台窗口主机就像一个外壳,可以维持运行诸如CSRSS之类的系统级服务的能力,同时仍可安全可靠地授予集成现代界面元素的能力。
为什么有几个实例在运行?
您经常会看到任务管理器中运行的控制台窗口宿主进程的多个实例。每个运行的命令提示符实例都将生成其自己的控制台窗口主机进程。此外,其他使用命令行的应用程序也会生成自己的控制台Windows主机进程,即使您看不到它们的活动窗口。 Plex Media Server应用程序就是一个很好的例子,该应用程序作为后台应用程序运行,并使用命令行使其自身可用于网络上的其他设备。
许多后台应用都以这种方式工作,因此在任何给定时间都可以看到多个控制台窗口宿主进程实例正在运行的情况并不少见。这是正常现象。在大多数情况下,除非该进程处于活动状态,否则每个进程应该占用很少的内存(通常少于10 MB),并且CPU几乎为零。
就是说,如果您发现控制台窗口主机的特定实例(或相关服务)引起了麻烦,例如持续过多的CPU或RAM使用,则可以检查所涉及的特定应用程序。这至少可以让您了解从何处开始进行故障排除。不幸的是,任务管理器本身并未提供有关此方面的良好信息。好消息是,作为Sysinternals系列的一部分,Microsoft提供了一个出色的高级工具来处理流程。只需下载并运行Process Explorer(这是一个便携式应用程序),因此无需安装它。 Process Explorer提供了各种高级功能-我们强烈建议阅读我们的指南以了解Process Explorer以了解更多信息。
有关的:什么是“便携式”应用程序,为什么如此重要?
在“进程资源管理器”中跟踪这些进程的最简单方法是先按Ctrl + F开始搜索。搜索“主机”,然后单击结果。这样做时,您会看到主窗口发生更改,以向您显示与控制台窗口宿主的特定实例相关联的应用程序(或服务)。
如果CPU或RAM的使用情况表明这是引起您麻烦的实例,那么至少您可以将其范围缩小到特定的应用程序。
这个过程可能是病毒吗?
该过程本身是Windows的正式组件。尽管病毒可能会用自己的可执行文件代替了真正的Console Window Host,但这种情况不太可能发生。如果您想确定的话,可以检查该过程的基础文件位置。在任务管理器中,右键单击任何服务主机进程,然后选择“打开文件位置”选项。
如果文件存储在您的 Windows \ System32
文件夹,则可以确定您没有在处理病毒。
实际上,那里有一个名为Conhost Miner的木马,它伪装成控制台窗口宿主进程。在任务管理器中,它看起来像真实的过程,但稍加挖掘就会发现它实际上存储在 %userprofile%\ AppData \ Roaming \ Microsoft
文件夹而不是 Windows \ System32
文件夹。该木马实际上是用来劫持您的PC来开采比特币的,因此,如果安装在系统上,您还会注意到的另一种行为是内存使用率高于预期,CPU使用率保持在很高的水平(通常高于80%)。
有关的:什么是Windows 10最佳防病毒软件? (Windows Defender是否足够好?)
当然,使用良好的病毒扫描程序是预防(和删除)Conhost Miner这样的恶意软件的最佳方法,无论如何,这都是您应该做的事情。安全胜过遗憾!