首页 生活百科 美食推荐 汽车百科 星座运势 旅游攻略 数码科技 教育资讯 宠物知识 养花知识 健康知识 周公解梦 热门影视 消费指南
当前位置: 首页 > 生活百科 >

svchost是什么进程能关闭吗(讲一讲熟悉又陌生的svchost进程)

281次浏览     发布时间:2024-06-15 12:50:42    

熟悉的陌生朋友:svchost.exe

有时候,你可能会打开任务管理器,看看里面有什么进程在跑,你会发现,进程列表中有很多svchost.exe。

为什么会有如此多的svchost.exe进程呢?这个svchost.exe到底是什么呢?今天就来简单解释解释。

设计原理和解释

从传统的系统设计角度来看,每一个Windows服务都会运行在它所在的进程中。这样,当你开发和测试你的服务的时候就十分简单方便。

但是,如果你打开Windows的服务管理器(命令行执行services.msc),你会发现,那里有很多服务,其中主要是Windows的服务,当然也包含第三方应用开发商开发的服务。如果每个服务都对应一个进程的话,则系统需要维护非常多的进程。对于一个进程来说,就算它什么实际的工作也不做,系统也需要为它分配各种资源来维护这个进程。将每个服务都放到一个进程中的设计方式实际上是一种资源的浪费,因为有很大一部分服务仅仅是在某些时间点下被触发执行。例如Microsoft Windows电话TAPI服务(Tapisrv),它仅仅会在处理和调制解调器(modem)相关的操作时才会被触发运行。

考虑到性能方面的原因,我们将相关的服务编到一个组中,在这个组中,所有的服务都会运行在一个叫做svchost的共享进程中。

这意味着,如果你发现某一个svchost.exe有些不正常,你还是无法知道到底是里面的哪一个服务出了问题。在微软的知识库中,有一篇专门讲解svchost的文章(how you can dig into each svchost to see which services are running inside it),它讲述了如何通过研究svchost进程来查看它承载了哪些服务。这还是很有用的,因为当svchost进程异常的时候,你至少可以缩写问题排查的范围。

查看svchost中的服务的几种方法

1. 通过任务管理器查看。

2. 执行命令行指令:tasklist /svc /fi “imagename eq svchost.exe”

3. 通过Process Explorer工具来查看。

总结

将多个服务跑在同一个进程中,减少了系统资源消耗,提升了性能。但是,这种设计也不可避免地增加了开发和调试服务的难度。所以,正在开发Windows服务的你,还需要再慎重慎重。


相关文章
mpg是什么格式的文件(可以进行格式转换吗?)
2024-06-18 20:21:01
美国财政收入如何(美国崩溃的真正导火索!)
2024-06-18 20:10:58
我们现在怎样做父亲原文及赏析(“我们现在怎样做父亲”—重读鲁迅杂文选 )
2024-06-18 20:00:57
三效蒸发工作原理(废水三效蒸发器居然有这样的工作原理!)
2024-06-18 19:50:53
提取图片中的文字用什么软件(图片上的文字怎样提取?)
2024-06-18 19:41:03
好猫香烟价格表和图片(细支香烟有哪些牌子)
2024-06-18 19:31:07