Svchost.exe进程
- 格式:doc
- 大小:167.00 KB
- 文档页数:4
svchost.exe是什么进程svchost.exe是什么进程svchost.exe是什么进程Svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
这个程序对系统的正常运行是非常重要,而且是不能被结束的。
svchost.exe在windows进程中占据很大一部分的资源,svchost.exe非常容易被病毒所利用。
svchost.exe病毒利用之后,系统常会弹出svchost.exe错误,当然 svchost.exe 病毒也有专杀工具。
我们知道 Windows 和 Windows 的应用软件都要使用大量的 DLL(Dynamic Link Libraries,动态链接库)文件,这些 DLL文件一般都要向Windows申请各种各样的Service(服务),而Svchost. exe 就是其中一些服务的通用管理进程名(Generic Host Process Name),简单的说,Svchost.exe是这些服务的总称。
每一个Svchost. exe 进程以一个 Group(组)的方式分组管理各种服务,每一个Svchost.exe服务。
svchost是什么Windows XP 中可以有多个 Svchost.exe 进程同时运行,之所以这样设计是为了更为方便地分类控制和调试各个进程和服务。
Svchost.exe在Windows XP的系统目录WindowsSystem32 下,在启动的时候,Svchost.exe根据注册表中的相关信息建立一个服务列表并根据这个列表加载相关的服务。
一般来说,Svchost.exe 总是根据HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionSvchost下面的键值分组管理DLL 申请的服务,这里的每一键值对应一个独立的Svchost.exe进程,也就是说这里的键值就是在任务管理器中我们看到的Svchost.exe进程。
svchost.exe是什么进程?首先要明确一点svchost.exe这个东西本身并不是病毒程序,它只是系统里边一个不可缺少的进程,不管是什么操作系统(2000,xp,2003,win7)都会存在这个进程。
当然有时候病毒、木马也会利用svchost.exe这个进程。
看完本文介绍后你就会明白,为什么你的系统里会有很多这样的进程了,而且数量多少还会不一样。
任务管理器中的svchost.exe进程什么是svchost.exe进程?简单的说:svchost.exe是一个属于微软Windows操作系统的系统程序,微软官方对它的解释是:Svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
这个程序对系统的正常运行是非常重要,而且是不能被结束的。
windows系统进程分为独立进程和共享进程两种,“svchost.exe”文件存在“%systemroot%system32”目录下,它属于共享进程。
随着windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。
但svchost进程只作为服务宿主,并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给用户提供任何服务。
Service Host Process是一个标准的动态连接库主机处理服务。
Svchost.exe文件对那些从动态连接库(DLL)中运行的服务来说是一个普通的主机进程名。
在启动的时候,Svchost.exe检查注册表中的位置来构建需要加载的服务列表。
这就会使多个Svchost.exe在同一时间运行。
Windows 2000一般有2个Svchost进程,一个是RPCSS(Remote Procedure Call)服务进程,另外一个则是由很多服务共享的一个Svchost.exe;而在windows XP中,则一般有4个以上的Svchost.exe服务进程;Windows 2003 server中则更多。
为什么进程里面会出现多个SVCHOST.EXE很多朋友都以一个疑问,为啥进程里面会有好几个SVCHOST.EXE 进程出现?现在我就用比较俗的解释比喻一下:SVCHOST.EXE好比是一头牛,系统服务就像是牛身上的寄生虫,所以牛就是那些寄生虫的宿主。
也就是说服务都依附在SVCHOST.EXE进程后面运行,当然具有交互界面的服务除外(比如:Print Spooler服务)。
那为啥服务不都依附到一个SVCHOST.EXE后面呢?因为不同的服务具有不同的启动参数,参数一样的就会归类到他们共有的一个宿主后面,哪怕是只有一个不同服务启动参数的服务,也要新开一个SVCHOST.EXE宿主,所以说有多少启动参数类型一样的服务,就会出现一个SVCHOST.EXE,哪怕是这种启动参数的服务只有一个,也要新开一个宿主。
也许看着有些糊涂,那就再用俗的解释一下:我们把服务统称为调味品,调味品里面分别有盐、味精、胡椒,你肯定会拿三个瓶子,然后把他们各自放入到一个瓶子里面(这里的瓶子就算是SVCHOST.EXE),如果你再买回辣椒面,你肯定不会把它和别的混合在一个瓶子里面,就会再拿一个新瓶子装,这次就会多出一个瓶子。
以此类推你每增加一个新的调味品,就会再拿出一个瓶子来装它。
上面解释的够通俗吧!所以说每个SVCHOST.EXE都是负责一类启动参数的服务,如果你的进程里面有5个SVCHOST.EXE,那么就可以说你所有的已启动服务使用了五种启动参数,启动参数相同的服务就会在同一个SVCHOST.EXE进程后面。
所以说SVCHOST.EXE进程过多,并不就表示你的系统出了状况,但是可能开启了一些并用不上的服务,可以去服务里禁用掉当前不需要的服务。
如果需要查看系统当前加载了那些服务,每个SVCHOST后面都有那些服务,现推荐两种方法:1、使用微软免费提供的PROCESS EXPLORER工具(我极力推荐使用此款工具,免费、功能强大)2、使用CMD /K TASKLIST /SVC命令这里我还想强调的一点:千万不要为了减少SVCHOST.EXE进程数而去禁用服务,因为每个人的电脑配置设置不同,也不要参考某个人的电脑或者某些优化软件所谓的成品模板来禁用服务,而是要按照自己当前的需求来合理设置。
svchost.exe是什么进程,是病毒吗?一、svchost.exe是什么svchost.exe是windows操作系统一个非常重要的进程模块。
因此很多病毒都利用svchost.exe来迷惑大家。
但是只要我们仔细观察就会知道是不是病毒。
正常的XP操作系统下有五到六个svchost.exe进程,其中SYSTEM用户名下有3个svchost.exe,NETWORK SERVICE用户名下有2个svchost.exe,LOCAL SERVICE用户名下有1个svchost.exe。
其他系统也是大致如此,他们的用户名都是SYSTEM、NETWORK SERVICE、LOCAL SERVICE这三个,如果不是这三个用户名那么就有可能是病毒了。
而且还有非常重要的一点就是正常的svchost.exe这个程序是在windows\system32这个目录下。
如果其它目录下有svchost.exe那肯定就是病毒了。
进程里面的svchost.exe个数不重要,关键看他是什么用户名而且位置是不是在windows\system32这个目录下。
举个例子:木马很喜欢安装在C:\windows\目录下,因为很具有迷惑性哦,其实它就是木马,将它杀掉。
二、SVCHOST.EXE病毒辨别通常情况下svchost.exe不会是病毒的。
病毒程序没有办法覆盖系统的svchost.exe。
他们一般是采用混淆的方式,让用户产生错觉。
一般是把svchost.exe里面的o改成0,注意一个是欧一个是零,改成这样svch0st.exe,让你很难看出来的。
还有一种就是大小写欺骗,木马通常写成SVCHOST.EXE(全大些)或者svchost.EXE(部分大些)等等,而正常的操作系统一般是小写的,所有发现进程里有这些特征的,首先要怀疑是木马,查查毒,分析文件,确认是木马就将其杀掉。
三、SVCHOST.EXE病毒查杀方法SVCHOST.EXE这个病毒一般有以下几种情况1、直接是SVCHOST.EXE这个文件但放在其他目录下。
Svchost.exe进程介绍Svchost病毒清除方法Svchost.exe在windows进程中占据很大一部分的资源,而且这个进程非常容易被病毒所利用。
Svchost.exe被病毒利用之后,系统常会弹出Svchost.exe错误,当然Svchost病毒也有专杀工具。
那么Svchost.exe是什么进程呢?Svchost病毒又该怎么去清除呢?接下来就让我们一起来了解下吧。
很多朋友对Svchost进程都不太了解,有时在工作管理员中一旦看到有多个该进程,就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,windows中可以有多个Svchost.exe进程同时运行,例如Windows 2000至少有2个Svchost进程,Windows XP中有4个以上,Windows 2003中则有更多,所以当你看到多个Svchost进程时,未必就是病毒!Svchost.exe是什么?Svchost.exe文件存在于“%system root%system32”(例如C:Windowssystem32)目录下,它是Windows NT核心的重要进程(Windows 9X没有该进程),专门为系统启动各种服务的。
例如Svchost.exe调用rpcss.dll档,就会启动rpcss服务(remote procedure call).Svchost.exe实际上是一个服务宿主,它本身并不能给使用者提供任何服务,但是可以用来运行动态连结程式库DLL档,从而启动对应的服务。
Svchost.exe进程可以同时启动多个服务。
Svchost.exe是一个系统的核心进程,并不是病毒进程。
但由于Svchost.exe进程的特殊性,所以病毒也会千方百计的入侵Svchost.exe。
通过查看Svchost.exe进程的执行路径可以确认是否中毒如果你怀疑电脑有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe档就可以发现异常情况。
MpKsl木马病毒产生的svchost.exe该怎么手动查杀电脑病毒看不见,却无处不在,有时防护措施不够或者不当操作都会导致病毒入侵。
对于MpKsl木马病毒很难清除,这个病毒一开机就载入系统,并隐藏磁盘文件和模块名,即使在文件夹选项设置查看隐藏的文件也无法显示,该怎么手动删除呢?请看下文详细介绍方法步骤MpKsl 病毒特点是:一旦连接网络就产生很多用户名为administrator的svchost.exe进程,svchost.exe的文件位置正常,但是没有对应的服务,并且不断的产生新的svchost.exe,在后台访问网络,占用少量的网速。
这个病毒一开机就载入系统,并隐藏磁盘文件和模块名,即使在文件夹选项设置查看隐藏的文件也无法显示。
使杀毒软件无法查杀。
本文介绍的是手动查杀方法,自动查杀可以使用急救U盘,杀毒光盘等。
一、先删注册表方法1、打开注册表,搜索查找MpKsl(该病毒文件为MpKslxxxxx.dll,xxxxx为随机字母,所以只查前面部分)。
找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\下有个MpKslxxxx的项(这是病毒的服务项,可以看到DisplayName的值为guarder1,ImagePath的值为System32\MpKslxxxxx.dll,start的值为0),如图删除整个项。
继续搜索可以找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\services\等均有此项,同样删除。
2、如果无法删除,点击右键,权限,点everyone,完全控制打钩,再删除。
如果依旧不能删除请看3;重启电脑,打开我的电脑,工具,文件夹选项,查看,隐藏受保护的操作系统文件的钩去掉,并选择显示所有文件和文件夹。
平时会通过windows任务管理器来查看进程状态,有用户发现svchost.exe占用极大的网络,并且不停的下载数据,之前也介绍过win7纯净版关于svchost.exe进程占用cpu100%原因分析与解决方法,其实有时候这也是微软服务再空闲时在传送文件,如系统在更新此服务就需要占用较高网络,我们只要将该服务关闭即可解决网络被占用的问题。
进程svchost.exe占用网络不停下载具体的解决方法如下所示:
1、打开电脑之后,右键点击我的电脑-,选择里面的管理-选项,再选择服务,如图所示:
2、在服务选项里面找到Background Intelligent Transfer Service,如图所示:
3、双击Background Intelligent Transfer Service之后,将启动类型修改成手动或禁用,同时也要把服务状态修改成停止服务,如图所示:
按照教程关闭Background Intelligent Transfer Service服务,那么遇到的svchost.exe占网络不停的下载数据也很容易可以得到缓解,还是建议用户找出具体原因再对症下药来解决。
Svchost.exe是什么占用CPU过高怎么办Svchost.exe是一个系统的核心进程,所以病毒也总是会入侵Svchost.exe。
那么Svchost.exe占用CPU过高怎么解决呢?下面,以WinXP系统为例,我们一起来看一下。
方法/步骤1.Svchost.exe进程多不一定是病毒。
很多朋友对Svchost.exe进程都不太了解,偶尔在任务管理器中一旦看到多个同一进程,就以为自己的电脑中了病毒了,其实并非如此!正常情况下,Win OS中可以有多个Svchost.exe进程同时运行,例如Windows 2000至少有2个Svchost进程,Windows XP中有4个以上或更多,Windows 2003中则有更多,所以当你看到多个Svchost进程时,未必就是病毒!svchost.exe通过为一些系统服务调用动态链接库(DLL)的方式来启动系统服务的,所以svchost.exe的出现其实是其它进程的出现。
2.Svchost.exe的键值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Curr entVersion\Svchost”,每个键值表示一个独立的Svchost.exe组。
所以可以根据这个位置来判断是否中毒。
3.同样的,正常的Svchost.exe程序在:“C:\Windows\System32”目录下的,如果你在其他目录下发现Svchost.exe程序的话,那很可能就是中毒了。
如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe文件就可以发现异常情况。
4.微软还为我们提供了一种察看系统正在运行在Svchost.exe列表中的服务的方法。
以Win XP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist /svc。
系统列出服务列表。
如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可,查出来后用taskkill杀掉试试。
任务管理器中的进程有相同进程怎么回事?SvcHost.exe的说明1.多个服务共享一个 Svchost.exe进程利与弊windows 系统服务分为独立进程和共享进程两种,在windows NT时只有服务器管理器SCM(Services.exe)有多个共享服务,随着系统内置服务的增加,在windows 2000中ms又把很多服务做成共享方式,由svchost.exe启动。
windows 2000一般有2个svchost进程,一个是RPCSS(Remote Procedure Call)服务进程,另外一个则是由很多服务共享的一个svchost.exe。
而在windows XP中,则一般有4个以上的svchost.exe服务进程,windows 2003 server中则更多,可以看出把更多的系统内置服务以共享进程方式由svchost启动是ms的一个趋势。
这样做在一定程度上减少了系统资源的消耗,不过也带来一定的不稳定因素,因为任何一个共享进程的服务因为错误退出进程就会导致整个进程中的所有服务都退出。
另外就是有一点安全隐患,首先要介绍一下svchost.exe的实现机制。
2. Svchost原理Svchost本身只是作为服务宿主,并不实现任何服务功能,需要Svchost启动的服务以动态链接库形式实现,在安装这些服务时,把服务的可执行程序指向svchost,启动这些服务时由svchost调用相应服务的动态链接库来启动服务。
那么svchost如何知道某一服务是由哪个动态链接库负责呢?这不是由服务的可执行程序路径中的参数部分提供的,而是服务在注册表中的参数设置的,注册表中服务下边有一个Parameters子键其中的ServiceDll表明该服务由哪个动态链接库负责。
并且所有这些服务动态链接库都必须要导出一个ServiceMain()函数,用来处理服务任务。
例如rpcss(Remote Procedure Call)在注册表中的位置是HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs,它的参数子键Parameters里有这样一项:"ServiceDll"=REG_EXPAND_SZ:"%SystemRoot%system32 pcss.dll"当启动rpcss服务时,svchost就会调用rpcss.dll,并且执行其ServiceMain()函数执行具体服务。
全面认识Svchost.exe进程
很多朋友对svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,windows中可以有多个svchost.exe进程同时运行,例如Windows2000至少有2个Svchost进程,WindowsXP中有4个以上,Windows2003中则有更多,所以当你看到多个svchost进程时,未必就是病毒!
svchost.exe进程是干什么的?
svchost.exe文件存在于“%systemroot%\system32”(例如
C:\Windows\system32)目录下,它是WindowsNT核心的重要进程(Windows9X 没有该进程),专门为系统启动各种服务的。
例如Svchost.exe调用rpcss.dll文件,就会启动rpcss服务(remoteprocedurecall)。
svchost.exe实际上是一个服务宿主,它本身并不能给用户提供任何服务,但是可以用来运行动态链接库DLL文件,从而启动对应的服务。
Svchost.exe进程可以同时启动多个服务。
svchost是如何启动系统服务的?
由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向svchost,因此svchost只要调用某个动态链接库,即可启动对应的服务。
那么svchost启动某服务时,又是如何知道应该调用哪个动态链接库?这是由于系统
服务在注册表中都设置了相关参数,因此svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服务。
下面我们以svchost启动helpsvc(HelpandSupport)服务为例,介绍其启动服务的方法。
在WindowsXP中点击“开始”“运行”,输入“services.msc”命令,弹出服务对话框,然后双击打开“HelpandSupport”服务属性对话框,可以看到helpsvc 服务的可执行文件的路径为“C:\WINDOWS\System32\svchost.exe-knetsvcs”(如图2),说明helpsvc服务是依靠SVCHOST调用“netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。
在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\helpsvc]项,找到类型为“REG_EXPAND_SZ”的键“magePath”,其键值为
“%SystemRoot%\System32\svchost.exe-knetsvcs”(这就是在服务窗口中看到的服务启动命令),另外在“Parameters”子项中有个名为“ServiceDll”的键,其值为“%WINDIR%\PCHealth\HelpCtr\Binaries\pchsvc.dll”,其中“pchsvc.dll”就是helpsvc 服务要使用的动态链接库文件。
这样SVCHOST进程通过读取“helpsvc”服务注册表信息,就能启动该服务了。
svchost到底启动了哪些服务?
如果你想了解每个SVCHOST进程当前到底提供了哪些系统服务,可以在命令提示符下输入命令来查看。
例如在WindowsXP中,打开“命令提示符”,键入tasklist/svc命令查看;在Windows2000中,则输入“Tlist-S”命令来查看。
如果你在WindowsXP中,想得到所有进程的详细信息,可以打开“命令提示符”,键入tasklist/svc>abc.txt命令,于是在当前目录中,将会生成一个abc.txt文件,其内容就是当前正在运行的所有进程情况,例如进程名、PID号、该进程启动了哪些服务。
如何发现svchost进程是否有问题?
由于svchost进程可以启动各种服务,因此病毒、木马也经常伪装成系统的DLL文件,使svchost调用它,从而进入内存中运行、感染和控制电脑。
建议你使用“Windows优化大师”进程管理器,查看所有svchost进程的执行文件路径(如图3),正常的Svchost文件应该存在于“c:\Windows\system32”目录下,如果你发现其执行路径在其他目录下,就有可能染上了病毒或木马了,应该马上进行检测和处理。
Svchost进程杀不掉怎么办?
如果有些Svchost进程,你在任务管理器中无法关闭之,可以使用ntsd命令来杀掉它,方法如下:
首先需要了解欲杀的Svchost进程,其PID是多少?在WindowsXP下,按Ctrl+Alt+Del打开任务管理器,点击“进程选项卡”“查看”“选择列”,在弹出的窗
口中(图4),勾选“PID(进程标识符)”,然后回到任务管理器中,即可看见PID了(例如要查杀的svchost进程,其PID是844)。
接下来关闭该进程。
点击“开始”“程序”“附件”“命令提示符”,在命令提示符下,输入命令ntsd-cq-p844即可查杀掉Svchost进程(PID是844)。
小提示:除了System、SMSS.EXE和CSRSS.EXE这三个进程,ntsd命令可以杀掉任何一个系统进程。
从Windows2000开始,微软就提供了ntsd工具,该命令执行后,可让你获得系统的debug权,因此能够用来关闭大部分的系统进程,如果你遇到无法关闭的进程,就可以使用该命令,其杀进程的命令格式为:ntsd-cq–pXXX
以上XXX为欲杀进程的PID;
ntsd–pXXX表示在调试器中打开某进程(PID为XXX);
而-cq参数则表示退出调试器。
由于调试器关闭之后,它打开的进程会随调试器一起退出,因此ntsd命令能够关闭进程。