首页 > 学院 > 操作系统 > 正文

教你全面认识系统 svchost 进程

2024-07-26 00:33:53
字体:
来源:转载
供稿:网友
  很多朋友对svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,Windows中可以有多个svchost.exe进程同时运行,例如Windows 2000至少有2个svchost进程,Windows xp中有4个以上,Windows 2003中则有更多,所以当你看到多个svchost进程时,未必就是病毒!

  svchost.exe进程是干什么的?  

  svchost.exe文件存在于“%system root%/system32”(例如C:/Windows/system32)目录下,它是Windows NT核心的重要进程(Windows 9X没有该进程),专门为系统启动各种服务的。例如svchost.exe调用rpCSS.dll文件,就会启动rpcss服务(remote PRocedure call)。

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

   很多朋友对svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,Windows中可以有多个svchost.exe进程同时运行,例如Windows 2000至少有2个svchost进程,Windows XP中有4个以上,Windows 2003中则有更多,所以当你看到多个svchost进程时,未必就是病毒!

  svchost.exe进程是干什么的?  

  svchost.exe文件存在于“%system root%/system32”(例如C:/Windows/system32)目录下,它是Windows NT核心的重要进程(Windows 9X没有该进程),专门为系统启动各种服务的。例如svchost.exe调用rpcss.dll文件,就会启动rpcss服务(remote procedure call)。

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

  如何发现svchost进程有问题?  

  由于svchost进程可以启动各种服务,因此病毒、木马也经常伪装成系统的DLL文件,使svchost调用它,从而进入内存中运行、感染和控制电脑。  

  建议你使用“Windows优化大师”进程管理器(可以到《个人电脑》的下载频道http://download.pcpro.com.cn的“系统工具”中去下载),查看所有svchost进程的执行文件路径(如图3),正常的svchost文件应该存在于“c:/Windows/system32”目录下,如果你发现其执行路径在其他目录下,就有可能染上了病毒或木马了,应该马上进行检测和处理。

  svchost进程杀不掉怎么办?  

  如果有些svchost进程,你在任务管理器中无法关闭之,可以使用ntsd命令来杀掉它,方法如下:
  首先需要了解欲杀的svchost进程,其PID是多少?在Windows XP下,按Ctrl+Alt+Del打开任务管理器,点击“进程选项卡” “查看” “选择列”,在弹出的窗口中(图4),勾选“PID(进程标识符)”,然后回到任务管理器中,即可看见PID了(例如要杀的svchost进程,其PID是844)。  

  接下来关闭该进程。点击“开始” “程序” “附件” “命令提示符”,在命令提示符下,输入命令ntsd -c q -p 844即可杀掉svchost进程(PID是844)。  

   小提示:除了System、SMSS.EXE和CSrss.EXE这三个进程,ntsd命令可以杀掉任何一个系统进程。从Windows 2000开始,微软就提供了ntsd工具,该命令执行后,可让你获得系统的debug权,因此能够用来关闭大部分的系统进程,如果你遇到无法关闭的进程,就可以使用该命令,其杀进程的命令格式为:ntsd -c q p XXX  

  以上XXX为欲杀进程的PID;

  ntsd p XXX 表示在调试器中打开某进程(PID为XXX);  

   而-c q参数则表示退出调试器。由于调试器关闭之后,它打开的进程会随调试器一起退出,因此ntsd命令能够关闭进程。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表