svchost.exe
Posted fpcbk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了svchost.exe相关的知识,希望对你有一定的参考价值。
Win10开启FTP与配置(完整无错版)
文章目录
#1.控制面板>程序>启用或关闭Windows功能>…
(控制面板可在 桌面右键>个性化>主题>桌面图标设置>勾选控制面板>确定)
#2.小娜搜索IIS打开IIS
#3.右击网站添加FTP站点
#4.输入站点名称和作为FTP的目录
#5.IP地址填FTP本机IP,选择无SSL,根据需要选择身份验证,授权与权限
#6.控制面板>系统和安全>防火墙>允许应用或功能通过Window防火墙
#7.点击更改设置,勾选FTP服务器&专用&公用.点击允许其它应用,选择C:WindowsSystem32svchost.exe然后添加,最后确定。
#8.资源处理器访问ftp:// IP 试试吧!
我们可以通过不同的方式远程访问我们的重要文件。访问远程文件的最古老,最可靠的协议之一是FTP协议。通过FTP服务器,可以轻松地从计算机以及本地区域内的智能手机或其他设备访问远程文件,如果配置正确,也可以通过Internet访问远程文件。虽然从android设备在本地网络上托管FTP服务器以实现无缝文件传输是一块馅饼,但在Windows计算机上托管FTP服务器对于每个人来说可能并不那么容易。
步骤2:在“程序和功能”窗口中,单击“控制面板”窗口左侧的“打开或关闭Windows功能”。
第3步:现在等待一段时间并向下滚动以找出“Internet信息服务”。 只需展开它,打开“FTP服务器”,“Web管理工具”和“万维网服务”下的所有内容,与下面的屏幕截图相同。 完成所有服务后,单击“确定”。
第4步:应用更改需要一些时间,完成后,单击“立即重新启动”以重新启动计算机并应用所做的更改。
步骤5:重新启动计算机后,再次打开“控制面板”,然后单击“管理工具”将其打开。
步骤6:在“管理工具”窗口中,双击“Internet信息服务(IIS)管理器”将其打开。
步骤7:在IIS管理器窗口的左侧,展开窗口左侧的计算机名称,除非您找到“站点”。 只需右键单击“站点”,然后单击“添加FTP站点...”。
第8步:这里给FTP站点命名。 我将‘sampleftp‘赋予FTP站点名称。 现在单击“...”按钮以找到要通过FTP服务器访问的文件夹或驱动程序。 我为本教程选择了“C:FTP_Path”。 完成所有操作后,单击“下一步”。
步骤14:在新窗口中,单击“更改设置”并标记“FTP服务器”的“公共”和“私人”对应的复选框,然后单击“确定”。
如果身份验证成功,您将能够看到通过FTP服务器共享的文件夹或驱动器中的内容。
在您的路由器上切换端口21以使您的FTP服务器可通过互联网访问的过程可能与您的路由器完全不同。 您最好阅读用户手册以获得一些帮助,或者您甚至可以联系路由器制造商的客户服务人员。
svchost.exe本身只是作为服务宿主,并不实现任何服务功能,需要svchost.exe启动的服务以动态链接库形式实现,在安装这些服务时,把服务的可执行程序指向svchost.exe,启动这些服务时由svchost.exe调用相应服务的动态链接库来启动服务。
双击服务列表的服务,可以看到服务详细信息。
其中,C:WindowsSystem32svchost.exe-k netsvcs这个路径当然就是启动服务的关键信息,其实,后边的这个-k netsvcs参数并不是在告诉svchost.exe启动哪个服务,netsvcs代表的是组,表示这个服务是属于哪个组的,组具体有啥用,大概就是节省资源什么乱七八糟的。正是由于采用了分组机制,系统中才会有多个svchost.exe进程,每个进程代表一个组。
那svchost.exe是怎么区分不同的服务呢?原来是根据服务名字区分的。。。搞个什么参数,弄的这么复杂,原来还是根据服务名字区分的。。。。
注意服务的名称,可不是服务列表里直接看到的名称,双击服务从属性里看以看到,如图:
哪个服务对应哪个dll,都是保存在注册表里的,路径是HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservices。
就拿上边的Browser服务来说,在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservices路径下有一个Browser项,名字和服务名字一样(也就是说,有多少个服务,这个路径下就有多少个项,和服务名称相对应),这个项里里边又有一个Parameters子项,Parameters子项里有一个名字叫ServiceDll的键,它的值就是dll的路径。如图:
这样一来,svchost.exe根据服务名称找到相应的键值,就找到要启动的dll了。
当然,不是所有的服务都是通过svchost.exe启动的,以上的方法仅仅适用于利用svchost.exe启动的服务,如果服务本身就是exe,而不是dll,不需要借助于svchost.exe。
如果服务不通过svchost.exe启动,那么就更简单,直接在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservices路径下找到和服务名称一样的项,项中有一个叫ImagePath的键,这个键的值就是服务exe文件的路径和启动参数。如图:
我想细心的电脑用户应该会在电脑的Windows任务管理器中发现有svchost.exe进程在运行,而且通常情况下svchost.exe进程并非同绝大多数程序那样只显示一个,有时候我们能发现10多个svchost.exe正在运行。那么很多人就有了疑问了,svchost.exe是什么进程?为什么svchost.exe进程会有那么多?它会不会是病毒(因为太多了所以可疑)?既然这是个普遍的问题那么我想应该需要来解答一番了。
DLL文件的存在是为了实现软件程序代码的精简化模块化。当我们在系统中运行某一个软件时,这个软件的很多功能可能就是DLL文件提供的。例如,在 Windows 操作系统中,Comdlg32 DLL 执行与对话框有关的常见函数。因此,每个程序都可以使用该DLL中包含的功能来实现“打开”对话框。这有助于促进代码重用和内存的有效使用
svchost.exe是什么进程?
首先我们来了解下svchost.exe进程是从哪里来的。我们可以通过Windows任务管理器对svchost.exe进程的描述来了解到这一信息,如下图所示:
从图中我们可以看到svchost.exe进程是Windows服务主进程,这意味着svchost.exe是Windows系统的一部分,它是安全的核心文件。当然,到目前为止没有理由证明我们可以完全相信Windows任务管理器所显示的信息。我再利用安全工具对系统的进程进行了扫描,安全工具显示svchost.exe进程是来自微软公司的Windows系统,请看下图:
重复检测的目前就是为了说明一个很重要的问题,那就是svchost.exe进程是Windows系统的一部分。我们可以确定了它的来历,这一点很重要,因为这样我们或许可以从官方网站找到一些相关介绍svchost.exe进程的技术文档。不出所料,微软的网站中的中文知识库编号为314056的文件就对svchost.exe进程做了介绍:
svchost.exe是从动态连结程式库(DLL) 执行之服务的一般性主处理程序名称。 当电脑启动时,SVCHOST.EXE会检查登录中的服务部分,以建立一份它需要载入的服务清单。 多个svchost.exe可以同时执行,且每一个svchost.exe工作阶段都可以包含一组服务。
上面所使用的安全工具也在描述栏里面简要介绍了svchost.exe进程,只是图片截图是没截取,我再截取一个看的清楚一些的:
为什么需要svchost.exe进程?
上面来自微软的314056文件对svchost.exe的解释里面提到了一个很核心的东西:DLL。关于DLL文件穆童在以前的那篇《DLL文件怎么打开?及DLL格式文件的作用》文章中也简要提到过。而svchost.exe程序与DLL文件之间的关系密切,为了让Windows的软件编程更为高效及提高运行效率,DLL文件就诞生了。但不能从Windows直接启动DLL文件,这个时候一个专门的svchost.exe进程就诞生了。现在我们能够明白微软314056文件所描述的“svchost.exe会检查登录中的服务部分,以建立一份它需要载入的服务清单”这句话了。我们可是使用第三方的任务管理器工具来查看到这一现象:
我们可以从上图看到,一个svchost.exe进程会加载很多的DLL文件。
为什么会有那么多svchost.exe进程?
我们通过上面推荐的那篇文章会知道,DLL文件的作用就是让特定的某个功能使用一个dll文件以便重用。例如,在Windows操作系统中,Comdlg32 DLL 执行与对话框有关的常见函数,因此每个程序都可以使用该DLL中包含的功能(服务)来实现“打开”对话框,这有助于促进代码重用和内存的有效使用。而如果我们的电脑安装的软件很多,需要开启很多的功能,那么理所当然的我们就需要更多的DLL文件(因为功能就在这里面),而我们也知道DLL文件是无法直接使用的,它需要svchost.exe进程来帮助。所以,功能多的时候svchost.exe进程就会越多。
上面的这一解释也能解答大家关于,为什么Windows XP会比Windows 7系统少很多svchost.exe进程的原因,因为毫无疑问Windows 7系统的功能要比Windows XP强大,所以就会出现这种情况。
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进程”然后,您将看到很多“服务主机”开头的进程,冒号后面的名字就是它对应的服务名称。
展开相应的名字,也可以看到更详细的信息。
点击“服务”选项卡,这里会显示所有的服务和它的描述,包括通过svchost托管的服务。
当svchost被感染时如何处理?
不幸的是,svchost也可能会被恶意软件和病毒利用,有些病毒会把自己的服务起一个跟svchost(服务主机)相似的名字,甚至有些恶意软件会伪装成系统服务,如果你发现svchost工作异常比如占用大量的cpu内存和网络资源,那么需要留意一下,最好用杀毒软件或者清理恶意软件的程序扫描一下,千万不要尝试手动删除,这样可能会导致更多的问题。
综上所述,svchost是一个非常重要的进程,同时也是比较容易被病毒理用的进程,为了让它更好的为我们服务,安装杀毒软件并定期扫描系统是很有必要的,千万不要让电脑裸奔。
以上是关于svchost.exe的主要内容,如果未能解决你的问题,请参考以下文章
每次刚启动完电脑,我就发现在进程中有很多的svchost.exe,这是否病毒啊?