用友t3教程-天翼积分兑换话费

svchost exe应用程序错误
2023年3月30日发(作者:win7网络连接不可用)

开机进程引起CPU占有率100%故障解决一例

这几天一直被一个问题困扰着,一开机大概过10秒钟左右CPU使用率就飙升到100%,

过半分钟左右就恢复正常了。经查是这个进程引起的(已排除病毒可能)。上网查资

料,按照网上的说法安装微软的这种现象的BUG补丁也不管用。后来还是经过自己的摸索结合

下面这篇文章解决了问题。

步骤如下:

1、开机后迅速打开360安全卫士,查找哪个进程吃掉的内存最多(360好像

查不到CPU资源占用情况,只能靠看内存占有情况分辨了)。

2、左键点击该进程,查询该进程的执行文件名,比如我的机器的那个"”的可执

行文件路径为:“C:-knetsvcs”。

3、打开优化大师,依次查找自动启动的相关服务,看那个服务的执行命令是上面那个,禁

用该服务即可。我的这个服务的的名称是:"HelpandSupport”。

下面附上一篇关于知识的文章:

很多朋友对进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图

1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,Windows中可

以有多个进程同时运行,例如Windows2000至少有2个Svchost进程,Windows

XP中有4个以上,Windows2003中则有更多,所以当你看到多个Svchost进程时,未必就是

病毒!

图1

进程是干什么的?

文件存在于“%systemroot%system32”(例如C:Windowssystem32)

目录下,它是WindowsNT核心的重要进程(Windows9X没有该进程),专门为系统启动各种

服务的。例如调用文件,就会启动rpcss服务(remoteprocedurecall)。

实际上是一个服务宿主,它本身并不能给用户提供任何服务,但是可以

用来运行动态链接库DLL文件,从而启动对应的服务。进程可以同时启动多个服

务。

Svchost是如何启动系统服务的?

由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向Svchost,

因此Svchost只要调用某个动态链接库,即可启动对应的服务。那么Svchost启动某服务时,

又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都设置了相关参数,因此

Svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服

务。

下面我们以Svchost启动helpsvc(HelpandSupport)服务为例,介绍其启动服务的方

法。在WindowsXP中点击“开始”|“运行”,输入“”命令,弹出服务对话框,然后双

击打开“HelpandSupport”服务属性对话框,可以看到helpsvc服务的可执行文件的路径为

“C:-knetsvcs”(如图2),说明helpsvc服务是依靠

SVCHOST调用“netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。

图2

在运行对话框中输入“”后回车,打开注册表编辑器,找到

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceshelpsvc]项,找到类型为

“REG_EXPAND_SZ”的键“magePath”,其键值为“%SystemRoot%-k

netsvcs”(这就是在服务窗口中看到的服务启动命令),另外在“Parameters”子项中有个名为

“ServiceDll”的键,其值为“%WINDIR%”,其中“”

就是helpsvc服务要使用的动态链接库文件。这样SVCHOST进程通过读取“helpsvc”服务注册

表信息,就能启动该服务了。

Svchost到底启动了哪些服务?

如果你想了解每个SVCHOST进程当前到底提供了哪些系统服务,可以在命令提示符

下输入命令来查看。例如在WindowsXP中,打开“命令提示符”,键入tasklist/svc命令查看;

在Windows2000中,则输入“Tlist-S”命令来查看。

如果你在WindowsXP中,想得到所有进程的详细信息,可以打开“命令提示符”,键

入tasklist/svc>命令,于是在当前目录中,将会生成一个文件,其内容就是

当前正在运行的所有进程情况,例如进程名、PID号、该进程启动了哪些服务。

如何发现Svchost进程有问题?

由于Svchost进程可以启动各种服务,因此病毒、木马也经常伪装成系统的DLL文件,

使Svchost调用它,从而进入内存中运行、感染和控制电脑。

建议你使用“Windows优化大师”进程管理器(可以到《个人电脑》的下载频道

的“系统工具”中去下载),查看所有Svchost进程的执行文件路径

(如图3),正常的Svchost文件应该存在于“c:Windowssystem32”目录下,如果你发现其执行

路径在其他目录下,就有可能染上了病毒或木马了,应该马上进行检测和处理。

图3

Svchost进程杀不掉怎么办?

如果有些Svchost进程,你在任务管理器中无法关闭之,可以使用ntsd命令来杀掉它,

方法如下:

首先需要了解欲杀的Svchost进程,其PID是多少?在WindowsXP下,按

Ctrl+Alt+Del打开任务管理器,点击“进程选项卡”|“查看”|“选择列”,在弹出的窗口中(图4),勾

选“PID(进程标识符)”,然后回到任务管理器中,即可看见PID了(例如要杀的Svchost进程,

其PID是844)。

图4

接下来关闭该进程。点击“开始”|“程序”|“附件”|“命令提示符”,在命令提示符下,输入命

令ntsd-cq-p844即可杀掉Svchost进程(PID是844)。

小提示:除了System、和这三个进程,ntsd命令可以杀掉

任何一个系统进程。从Windows2000开始,微软就提供了ntsd工具,该命令执行后,可让你

获得系统的debug权,因此能够用来关闭大部分的系统进程,如果你遇到无法关闭的进程,就

可以使用该命令,其杀进程的命令格式为:ntsd-cq–pXXX

以上XXX为欲杀进程的PID;

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

而-cq参数则表示退出调试器。由于调试器关闭之后,它打开的进程会随调试器一起

退出,因此ntsd命令能够关闭进程。

更多推荐

svchost exe应用程序错误