AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 11402
Accepted
jldugger
jldugger
Asked: 2009-05-23 10:54:32 +0800 CST2009-05-23 10:54:32 +0800 CST 2009-05-23 10:54:32 +0800 CST

什么是 svchost,为什么它的多个实例正在运行?

  • 772

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

windows windows-service process svchost
  • 5 5 个回答
  • 5743 Views

5 个回答

  • Voted
  1. splattne
    2009-05-24T07:16:04+08:002009-05-24T07:16:04+08:00

    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 
    
    • 20
  2. Best Answer
    Rob Haupt
    2009-05-23T10:58:26+08:002009-05-23T10:58:26+08:00

    svchost,在 Windows 中托管服务 请参阅KB。如果您使用Process Explorer,您可以查看哪些服务正在特定进程中运行。

    • 16
  3. Frode Lillerud
    2009-05-23T11:38:42+08:002009-05-23T11:38:42+08:00

    Svchost 是“服务主机”的缩写。它使您机器上的大部分服务保持运行。将有一些服务将自己托管在自己的 .exe 文件中,但大多数 Windows 服务需要托管在 svchost.exe 进程中。你机器上的服务处理重要的东西,比如网络、RpC 服务器、音频、事件日志等。

    在 Start->Run 中键入“services.msc”以查看您在计算机上运行的服务。如果您认为任何人不必要,您可以停止该服务。

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

    • 7
  4. aleksandar
    2009-06-05T01:34:07+08:002009-06-05T01:34:07+08:00

    这是一个输出 svchost.exe 进程中托管的所有服务的 PowerShell 单行程序:

    PS>get-process svchost | % {get-wmiobject win32_service -filter "processid=$($_.id)"} | format-table processid,name,displayname,state,status -auto
    
    processid name          displayname                               state   status
    --------- ----          -----------                               -----   ------
          316 HTTPFilter    HTTP SSL                                  Running OK
         1328 DcomLaunch    DCOM Server Process Launcher              Running OK
         1328 TermService   Terminal Services                         Running OK
         1392 RpcSs         Remote Procedure Call (RPC)               Running OK
         1528 AudioSrv      Windows Audio                             Running OK
         1528 BITS          Background Intelligent Transfer Service   Running OK
         1528 Browser       Computer Browser                          Running OK
    

    单线的较短版本如下所示:

    gps svchost | % {gwmi win32_service -f "processid=$($_.id)"} | ft proc*,name,disp*,stat* -auto
    
    • 1
  5. Gilbert
    2009-07-11T05:24:21+08:002009-07-11T05:24:21+08:00

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

    • 0

相关问题

  • 您最喜欢的云计算提供商是什么?[关闭]

  • Vanilla Powershell 是否足以成为 Windows 和 DB 服务器管理员的语言?

  • 为什么添加新驱动器后我的磁盘驱动器访问速度如此之慢?

  • 在 Windows Server 2003 下使用 wscipt 从 .asp 文件运行 .exe

  • 最佳混合环境(OS X + Windows)备份?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve