svchost是什么

发布网友 发布时间:2022-04-24 10:10

我来回答

1个回答

热心网友 时间:2023-10-09 23:08

不能删除。
很多朋友对Svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,Windows中可以有多个Svchost.exe进程同时运行,例如Windows 2000至少有2个Svchost进程,Windows XP中有4个以上,Windows 2003中则有更多,所以当你看到多个Svchost进程时,未必就是病毒!
Svchost.exe文件存在于“%system root%\system32”(例如C:\Windows\system32)目录下,它是Windows NT核心的重要进程(Windows 9X没有该进程),专门为系统启动各种服务的。例如Svchost.exe调用rpcss.dll文件,就会启动rpcss服务(remote procere call)。

Svchost.exe实际上是一个服务宿主,它本身并不能给用户提供任何服务,但是可以用来运行动态链接库DLL文件,从而启动对应的服务。Svchost.exe进程可以同时启动多个服务。
Svchost是如何启动系统服务的?

由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向Svchost,因此Svchost只要调用某个动态链接库,即可启动对应的服务。那么Svchost启动某服务时,又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都设置了相关参数,因此Svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服务。
下面我们以Svchost启动helpsvc(Help and Support)服务为例,介绍其启动服务的方法。在Windows XP中点击“开始”|“运行”,输入“services.msc”命令,弹出服务对话框,然后双击打开“Help and Support”服务属性对话框,可以看到helpsvc服务的可执行文件的路径为“C:\WINDOWS\System32\svchost.exe -k netsvcs” (如图2),说明helpsvc服务是依靠SVCHOST调用“netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。

参考资料:http://zhidao.baidu.com/question/16560984.html?si=2
http://zhidao.baidu.com/question/57883165.html?si=1&wtp=wk

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com