聊一下svchost.exe的那点事儿

2019-03-18 02:56:20  |  来源:pc玩家

什么是svchost.exe?

  svchost全名Host Process for Windows Services,它是一个系统进程,用于托管各种windows服务。微软官方对它的解释是:svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。当windows想要运行一个服务时,就通过svchost来托管,所以细心的用户可以在进程管理器中看到一堆的svchost,这仅仅是因为windows同时运行不同的服务,千万不要把它当作是一种问题。

  在老版本的windows中是没有svchost的,随着windows系统的更新,后台服务不断增加,为了节约系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。svchost进程只作为服务宿主,并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给用户提供任何服务。

  那为什么不把他们所有的功能都捆绑在一个服务进程上,这样看起来不是很清爽?这一决定背后的原因是为了防止单个服务进程崩溃导致所有服务都瘫痪。举个栗子:如果你经营一家工厂,一条生产线需要10个工人负责不同的环节,另一种选择是让一台机器人负责所有的环节,但是在出现问题的时候,机器人坏掉了会导致整条生产线都停工,而一个工人受伤或生病,生产线上的其他环节仍然可以正常工作。

如何在windows10中查看svchost托管的服务详情

  如果你想自己查看在svchost下运行什么进程,你可以通过按住Ctrl + Shift + ESC来实现。单击底部的“详细信息”,确保您正在查看高级视图(如果有的话)。此时默认应该是“进程”选项卡。然后,按名称对进程进行排序,并向下滚动找到“Windows进程”然后,您将看到很多“服务主机”开头的进程,冒号后面的名字就是它对应的服务名称。

001.jpg

  展开相应的名字,也可以看到更详细的信息。

002.jpg

  点击“服务”选项卡,这里会显示所有的服务和它的描述,包括通过svchost托管的服务。

003.jpg

当svchost被感染时如何处理?

  不幸的是,svchost也可能会被恶意软件和病毒利用,有些病毒会把自己的服务起一个跟svchost(服务主机)相似的名字,甚至有些恶意软件会伪装成系统服务,如果你发现svchost工作异常比如占用大量的cpu内存和网络资源,那么需要留意一下,最好用杀毒软件或者清理恶意软件的程序扫描一下,千万不要尝试手动删除,这样可能会导致更多的问题。

  综上所述,svchost是一个非常重要的进程,同时也是比较容易被病毒理用的进程,为了让它更好的为我们服务,安装杀毒软件并定期扫描系统是很有必要的,千万不要让电脑裸奔。