什么是 svchost,为什么它会运行多个实例?

什么是 svchost,为什么它会运行多个实例?

我的桌面上有六个实例在运行,我管理的服务器上可能有十个实例在运行。这是什么?它对系统功能是否至关重要?

答案1

svchost,Windows 中的主机服务知识库.如果您使用进程探索器您可以看到哪些服务正在特定进程内运行。

答案2

Windows 的许多执行组件都是以服务的形式实现的(请参阅计算机上的所有服务Control Panel > Administrative Tools > Services)。这些是专门在后台运行的程序。它们不是由登录用户启动的,而是由操作系统本身启动的。

大多数服务不是独立的可执行文件(EXE 文件),而是在库(DLL)中实现的,可供正在运行的进程使用。顾名思义,Svchost 或“服务主机”是 Windows 运行这些 DLL 的标准可执行文件。您可以在目录中找到 svchost.exe 文件%systemroot%\system32

如果你想知道 svchost 的哪个实例正在执行哪个服务,请键入

 tasklist /svc /fi "IMAGENAME eq svchost.exe"

在命令行控制台(cmd)上。

例如,在我截屏的机器上,svchost 的一个实例正在运行 21 个不同的服务。根据微软的文档

替代文本

Svchost.exe 组在以下注册表项中标识:

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost

提示(如果您运行的是 Windows Vista、Windows 7 或 Windows Server 2008):您可以打开任务管理器并右键单击特定的 svchost.exe 进程,然后选择“转到服务”选项。这将显示服务选项卡,其中选定svchost.exe进程下运行的所有服务都将被标记。

微软的下载中心里有一份非常有趣的文档:

Microsoft Windows Server 2003 系统服务参考

本文档总结了适用于 Windows Server 2003 系列操作系统的所有服务。服务按显示名称的字母顺序列出。在每项服务的描述之后,有一个表格列出了有关该服务的关键信息。

每个 Windows 服务都列出了其所有详细信息。例如,您可以了解到终端服务服务的可执行文件名是

 svchost.exe -k termsvcs 

答案3

Svchost 是“服务主机”的缩写。它使计算机上的大多数服务保持运行。一些服务会将自身托管在自己的 .exe 文件中,但大多数 Windows 服务都需要托管在 svchost.exe 进程中。计算机上的服务处理诸如网络、RpC 服务器、音频、事件日志等重要内容。

在“开始”->“运行”中输入“services.msc”以查看您机器上运行的服务。如果您认为任何服务都不需要,您可以停止该服务。

键入“tasklist /SVC”来查看哪些服务由不同的 svchost.exe 文件托管。

答案4

这篇文章可能会有所帮助:http://www.gfi.com/blog/exploring-svchostexe-part-1/

相关内容