讲一讲熟悉又陌生的svchost进程 svchost是什么进程

svchost是什么过程(说说熟悉和不熟悉的svchost过程)
熟悉又陌生的朋友:svchost.exe有时候,你可能会打开任务管理器,看看里面有哪些进程在运行 , 你会发现进程列表里有很多svchost.exe 。
为什么有这么多svchost.exe进程?这个svchost.exe到底是什么?今天就来简单解释一下 。
设计原则和说明从传统的系统设计角度来看 , 每个Windows服务都将在自己的进程中运行 。这样,当你开发和测试你的服务时,就非常简单方便了 。
但是如果你打开Windows的服务管理器(命令行执行services.msc),你会发现那里有很多服务,主要是Windows的服务,包括第三方应用开发者开发的服务 。如果每个服务对应一个流程 , 系统需要维护很多流程 。对于一个进程,即使它不做任何实际工作,系统也需要为它分配各种资源来维护这个进程 。将每个服务放在一个进程中的设计,实际上是一种资源浪费,因为大量的服务只是在特定的时间点被触发执行 。例如 , Microsoft Windows Phone TAPI服务(Tapisrv),它只会在处理与调制解调器相关的操作时被触发运行 。
出于性能原因,我们将相关服务组织到一个组中,其中所有服务将在一个名为svchost的共享进程中运行 。
【讲一讲熟悉又陌生的svchost进程 svchost是什么进程】这意味着 , 如果您在svchost.exe中发现异常,您仍然无法知道其中的哪个服务出了故障 。在微软的知识库中,有一篇专门介绍svchost的文章(如何深入每个svchost , 看看里面运行的是哪些服务),讲述了如何通过研究SVChost进程来检查它承载了哪些服务 。这还是很有用的,因为当svchost进程异常的时候,至少可以缩略一下排查的范围 。
在svchost中查看服务的几种方法1.通过任务管理器查看 。
2.执行命令行命令:task list/SVC/fi " ImageName EQ svchost . exe "
3.通过Process Explorer工具进行检查 。
摘要在同一进程中运行多个服务可以减少系统资源消耗并提高性能 。但是 , 这种设计不可避免地增加了开发和调试服务的难度 。因此,您在开发Windows服务时需要小心谨慎 。

    推荐阅读