熟悉的陌生朋友:svchost.exe
有时候,你可能会打开任务管理器,看看里面有什么进程在跑,你会发现,进程列表中有很多svchost.exe 。
为什么会有如此多的svchost.exe进程呢?这个svchost.exe到底是什么呢?今天就来简单解释解释 。
设计原理和解释
【怎样清除svchost.exe病毒 svchost是什么进程】从传统的系统设计角度来看,每一个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服务的你,还需要再慎重慎重 。

文章插图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任 。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件标题+链接至 794659272@qq.com 举报,一经查实,本站将立刻删除 。
- 2岁宝宝怎样吃鳕鱼 一岁宝宝吃鳕鱼的做法
- 一个男生怎样让自己成熟起来 怎样增强男性的持久力
- 有什么好的解决方法吗 怎样解醉酒
- 手吃螃蟹的正确吃法 吃了蟹胃和蟹心会怎样
- 怎样正确进行提运动 锻炼治早迣简单快速的方法
- 富德生命人寿保险公司的信誉度怎样 富德生命人寿保险公司可靠吗
- 怎样喝柠檬水才可以减肥 睡前喝柠檬水能减肥吗
- 怎样满足男人内心需求 男生生理需求很痛苦嘛
- 火牙痛怎么办 虚火旺牙齿痛怎样降火
- 怎样可以快速去黄改善肌肤光泽 脸上去黄气最有效的方法是
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
