U盘装系统_分享U盘装系统教程_提供64位win11、win10、win7电脑系统及绿色软件下载

当前位置:首页 > 系统教程 > 软件教程

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

时间:2023-08-24 来源: 点击:
手机扫码继续观看
svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  服务主机进程 (svchost.exe) 是一个用于从 DLL 文件加载服务的 shell。服务被组织成组,每个组在服务主机进程的不同实例内运行。通常有许多 svchost.exe 实例在运行,因为 Windows 需要大量服务才能正常运行。

  如果您曾经浏览过任务管理器,您可能想知道为什么有这么多服务主机进程正在运行。你杀不了他们,而且你也肯定不是他们的始作俑者。那么,它们是什么?

  本文是我们正在进行的系列文章的一部分,该系列解释了任务管理器中的各种进程,例如dwm.exe、ctfmon.exe、mDNSResponder.exe、conhost.exe、rundll32.exe、Adob​​e_Updater.exe等等。不知道这些服务是什么?最好开始阅读!

  一、什么是服务主机进程?

  根据微软的说法,答案如下:

  Svchost.exe 是从动态链接库运行的服务的通用主机进程名称。

  但这对我们来说并没有多大帮助。不久前,Microsoft 开始将大部分 Windows 功能从依赖内部 Windows 服务(从 EXE 文件运行)改为使用 DLL 文件。从编程的角度来看,这使得代码更可重用,并且可以说更容易保持最新。问题是您无法像启动可执行文件一样直接从 Windows 启动 DLL 文件。相反,从可执行文件加载的 shell 用于托管这些 DLL 服务。于是服务主机进程(svchost.exe)诞生了。

  二、为什么有这么多服务主机进程在运行?

  如果您曾经查看过控制面板中的服务部分,您可能会注意到 Windows 需要很多服务。如果每一项服务都在一个服务主机进程下运行,则一项服务出现故障可能会导致整个 Windows 瘫痪。相反,它们被分开了。

  服务被组织成都有些相关的逻辑组,然后创建一个服务主机实例来托管每个组。例如,一个服务主机进程运行与防火墙相关的三个服务。另一个服务主机进程可能运行与用户界面相关的所有服务,等等。例如,在下图中,您可以看到一个服务主机进程运行多个相关的网络服务,而另一个服务主机进程则运行与远程过程调用相关的服务。

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  三、这些信息对我有什么帮助吗?

  老实说,不是很多。在 Windows XP(以及之前的版本)时代,PC 的资源更加有限,而且操作系统也没有那么微调,因此通常建议停止 Windows 运行不必要的服务。如今,我们不再建议禁用服务。现代 PC 往往配备内存和高性能处理器。此外,现代版本中处理 Windows 服务的方式(以及运行的服务)已经得到简化,消除您认为不需要的服务实际上不再产生太大影响。

  也就是说,如果您发现服务主机的特定实例(或相关服务)正在造成问题,例如持续过度使用 CPU 或 RAM,您可以检查所涉及的特定服务。这至少可以让您了解从哪里开始排除故障。有几种方法可以准确查看特定服务主机实例正在托管哪些服务。您可以在任务管理器中检查内容或使用名为 Process Explorer 的出色第三方应用程序。

  1.在任务管理器中查看相关服务

  如果您使用的是 Windows 8 或 10,进程会按全名显示在任务管理器的“进程”选项卡上。如果一个进程充当多个服务的主机,您只需扩展该进程就可以看到这些服务。这使得识别哪些服务属于服务主机进程的每个实例变得非常容易。

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  您可以右键单击任何单个服务来停止该服务,在“服务”控制面板应用程序中查看它,甚至在线搜索有关该服务的信息。

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  如果您使用的是 Windows 7,情况会有所不同。Windows 7 任务管理器没有以相同的方式对进程进行分组,也没有显示常规进程名称——它只显示正在运行的“svchost.exe”的所有实例。您必须进行一些探索才能确定与“svchost.exe”的任何特定实例相关的服务。

  在 Windows 7 任务管理器的“进程”选项卡上,右键单击特定的“svchost.exe”进程,然后选择“转到服务”选项。

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  这会将您转到“服务”选项卡,其中在“svchost.exe”进程下运行的服务全部被选中。

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  然后,您可以在“描述”列中看到每个服务的完整名称,因此如果您不希望该服务运行,您可以选择禁用该服务,或者排除它出现问题的原因。

  2.使用 Process Explorer 检查相关服务

  Microsoft 还提供了一个出色的高级工具来处理进程,作为其 Sysinternals 系列的一部分。只需下载Process Explorer并运行它——它是一个便携式应用程序,因此无需安装它。Process Explorer 提供了各种高级功能,我们强烈建议您阅读我们的Process Explorer 理解指南以了解更多信息。

  不过,出于我们的目的,Process Explorer 将相关服务分组到“svchost.exe”的每个实例下。它们按文件名列出,但它们的全名也显示在“说明”列中。您还可以将鼠标指针悬停在任何“svchost.exe”进程上,以查看弹出窗口,其中包含与该进程相关的所有服务,甚至包括当前未运行的服务。

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  四、这个进程会是病毒吗?

  该进程本身是一个官方的 Windows 组件。虽然病毒有可能用自己的可执行文件替换了真正的服务主机,但这可能性很小。如果您想确定,可以检查该进程的基础文件位置。在任务管理器中,右键单击任何服务主机进程,然后选择“打开文件位置”选项。

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  如果该文件存储在您的 Windows\System32 文件夹中,那么您可以相当确定您没有遇到病毒。

svchost.exe服务主机进程详解以及为什么有如此多同样的进程在运行?

  也就是说,如果您仍然想要更安心,您可以随时使用您首选的病毒扫描程序扫描病毒。安全总比后悔好!

上一篇:如何手动和自动调整电脑的屏幕亮度

下一篇:如何录制来自电脑的声音(即使没有立体声混音)

相关文章