国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 基礎(chǔ)常識 > 正文

Svchost.exe進程知識全解

2019-10-30 20:56:05
字體:
供稿:網(wǎng)友

  很多朋友對Svchost.exe進程都不太了解,有時在任務(wù)管理器中一旦看到有多個該進程(圖1中有6個),就以為自己的電腦中了病毒或木馬,其實并非如此!正常情況下,windows中可以有多個Svchost.exe進程同時運行,例如windows 2000至少有2個Svchost進程,Windows XP中有4個以上,Windows 2003中則有更多,所以當(dāng)你看到多個Svchost進程時,未必就是病毒!

  Svchost.exe進程是干什么的?

  Svchost.exe文件存在于“%system root%system32”(例如C:Windowssystem32)目錄下,它是Windows NT核心的重要進程(Windows 9X沒有該進程),專門為系統(tǒng)啟動各種服務(wù)的。例如Svchost.exe調(diào)用rpCss.dll文件,就會啟動rpcss服務(wù)(remote procedure call)。

  Svchost.exe實際上是一個服務(wù)宿主,它本身并不能給用戶提供任何服務(wù),但是可以用來運行動態(tài)鏈接庫DLL文件,從而啟動對應(yīng)的服務(wù)。Svchost.exe進程可以同時啟動多個服務(wù)。

  Svchost是如何啟動系統(tǒng)服務(wù)的?

  由于系統(tǒng)服務(wù)都是以動態(tài)鏈接庫(DLL)形式實現(xiàn)的,它們把可執(zhí)行程序指向Svchost,因此Svchost只要調(diào)用某個動態(tài)鏈接庫,即可啟動對應(yīng)的服務(wù)。那么Svchost啟動某服務(wù)時,又是如何知道應(yīng)該調(diào)用哪個動態(tài)鏈接庫?這是由于系統(tǒng)服務(wù)在注冊表中都設(shè)置了相關(guān)參數(shù),因此Svchost通過讀取某服務(wù)在注冊表中的信息,即可知道應(yīng)該調(diào)用哪個動態(tài)鏈接庫,從而啟動該服務(wù)。

  下面我們以Svchost啟動helpsvc(Help and Support)服務(wù)為例,介紹其啟動服務(wù)的方法。在Windows XP中點擊“開始” “運行”,輸入“services.msc”命令,彈出服務(wù)對話框,然后雙擊打開“Help and Support”服務(wù)屬性對話框,可以看到helpsvc服務(wù)的可執(zhí)行文件的路徑為“C:WINDOWSSystem32svchost.exe -k netsvcs” (如圖2),說明helpsvc服務(wù)是依靠SVCHOST調(diào)用“netsvcs”參數(shù)來實現(xiàn)的,而參數(shù)的內(nèi)容則是存放在系統(tǒng)注冊表中的。

  在運行對話框中輸入“regedit.exe”后回車,打開注冊表編輯器,找到[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceshelpsvc]項,找到類型為“REG_EXPAND_SZ”的鍵“magePath”,其鍵值為“%SystemRoot%System32svchost.exe -k netsvcs”(這就是在服務(wù)窗口中看到的服務(wù)啟動命令),另外在“Parameters”子項中有個名為“ServiceDll”的鍵,其值為“%WINDIR%PCHealthHelpCtrBinariespchsvc.dll”,其中“pchsvc.dll”就是helpsvc服務(wù)要使用的動態(tài)鏈接庫文件。這樣SVCHOST進程通過讀取“helpsvc”服務(wù)注冊表信息,就能啟動該服務(wù)了。

  Svchost到底啟動了哪些服務(wù)?

  如果你想了解每個SVCHOST進程當(dāng)前到底提供了哪些系統(tǒng)服務(wù),可以在命令提示符下輸入命令來查看。例如在Windows XP中,打開“命令提示符”,鍵入tasklist /svc命令查看;在Windows 2000中,則輸入“Tlist -S”命令來查看。

  如果你在Windows XP中,想得到所有進程的詳細(xì)信息,可以打開“命令提示符”,鍵入  tasklist /svc>abc.txt 命令,于是在當(dāng)前目錄中,將會生成一個abc.txt文件,其內(nèi)容就是當(dāng)前正在運行的所有進程情況,例如進程名、PID號、該進程啟動了哪些服務(wù)。

  如何發(fā)現(xiàn)Svchost進程有問題?

  由于Svchost進程可以啟動各種服務(wù),因此病毒、木馬也經(jīng)常偽裝成系統(tǒng)的DLL文件,使Svchost調(diào)用它,從而進入內(nèi)存中運行、感染和控制電腦。

  建議你使用“Windows優(yōu)化大師”進程管理器(可以到《個人電腦》的下載頻道http://download.pcpro.com.cn的“系統(tǒng)工具”中去下載),查看所有Svchost進程的執(zhí)行文件路徑(如圖3),正常的Svchost文件應(yīng)該存在于“c:Windowssystem32”目錄下,如果你發(fā)現(xiàn)其執(zhí)行路徑在其他目錄下,就有可能染上了病毒或木馬了,應(yīng)該馬上進行檢測和處理。

  Svchost進程殺不掉怎么辦?

  如果有些Svchost進程,你在任務(wù)管理器中無法關(guān)閉之,可以使用ntsd命令來殺掉它,方法如下:

  首先需要了解欲殺的Svchost進程,其PID是多少?在Windows XP下,按Ctrl+Alt+Del打開任務(wù)管理器,點擊“進程選項卡” “查看” “選擇列”,在彈出的窗口中(圖4),勾選“PID(進程標(biāo)識符)”,然后回到任務(wù)管理器中,即可看見PID了(例如要殺的Svchost進程,其PID是844)。

  接下來關(guān)閉該進程。點擊“開始” “程序” “附件” “命令提示符”,在命令提示符下,輸入命令ntsd -c q -p 844即可殺掉Svchost進程(PID是844)。

  小提示:除了System、SMSS.EXE和CSRSS.EXE這三個進程,ntsd命令可以殺掉任何一個系統(tǒng)進程。從Windows 2000開始,微軟就提供了ntsd工具,該命令執(zhí)行后,可讓你獲得系統(tǒng)的debug權(quán),因此能夠用來關(guān)閉大部分的系統(tǒng)進程,如果你遇到無法關(guān)閉的進程,就可以使用該命令,其殺進程的命令格式為:ntsd -c q –p XXX

  以上XXX為欲殺進程的PID;

  ntsd –p XXX 表示在調(diào)試器中打開某進程(PID為XXX);

  而-c q參數(shù)則表示退出調(diào)試器。由于調(diào)試器關(guān)閉之后,它打開的進程會隨調(diào)試器一起退出,因此ntsd命令能夠關(guān)閉進程。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 娄底市| 建平县| 广饶县| 青冈县| 柳林县| 垫江县| 临潭县| 桦南县| 安顺市| 乌兰县| 田东县| 翁源县| 安平县| 金门县| 南郑县| 武乡县| 仁布县| 达拉特旗| 吴忠市| 忻城县| 龙山县| 峨眉山市| 永嘉县| 衡阳市| 桂平市| 咸阳市| 安康市| 永胜县| 满洲里市| 马山县| 四川省| 哈尔滨市| 望城县| 镇雄县| 瑞丽市| 乐山市| 砀山县| 鄂伦春自治旗| 竹北市| 泸溪县| 宜宾市|