毫無疑問,你會讀這篇文章,是因為你的電腦上有近十個執行的程序與Svchost.exe有關。要結束也不行,又不知道他們是幹什麼的…那要怎麼辦呢?

Svchost.exe是什麼?

根據微軟的說明:『Svchost.exe 是一種電腦處理程序,可裝載或包含 Windows 用來執行不同功能的其他個別服務。例如,Windows Defender 使用的是 svchost.exe 處理程序裝載的服務。』說實在話連笨笨包自己也看不懂微軟所解釋的意思。

前一段時間,微軟開始移動的所有功能,從內部Windows服務轉換到.DLL代替.EXE。從程式設計的角度來看,更能夠重複使用。但問題是,又不能直接從Windows 打開 .DLL檔案,它已從正在執行的執行檔(.EXE)載入,因此, Svchost.exe程序就出現了。

為什麼有這麼多svchost.exes在執行?

以往我們都會在控制台的『服務』裡看看有多少服務在運作,如果所有的服務只用到一個Svchost.exe,萬一Svchost.exe當掉的話那Windows作業系統就會…所已才會將Svchost.exe區分開來。

這些服務組成合理的群組,然後一個個別的Svchost.exe情況建立各別的群組。舉例來說,一個Svchost.exe執行3個有關防火牆的服務,另一個Svchost.exe可能執行所有服務相關的使用者界面等等。

我能做些什麼呢?

你可以減少不必要的服務,關閉或停止服務,只是這樣做並非絕對需要。另外,如果你看到哪一個Svchost.exe出現非常操勞的CPU效能,你就可以依照以下的例子重新啟動服務。

最大的問題是,要如何確定哪些特定的服務正在執行Svchost.exe。

如果你對於我們所談的事情感覺到好奇,只要打開Windows工作管理員,將『顯示來自所有使用者的處理程序』打勾

什麼是Svchost.exe

從命令提示字元檢查

如果你想看看有什麼特定的服務正在使用Svchost.exe,您可以使用命令提示字元中使用Tasklist命令就能看到的服務清單。

tasklist /SVC

什麼是Svchost.exe

問題是使用命令行的方法你不一定知道,笨笨包也是第一次見過。

使用Process Explorer

您可以從從Microsoft /Sysinternals下載使用好用的Process Explorer工具,看看有什麼服務正在執行Svchost.exe程序。

只要把滑鼠移動到顯示的程序上,視窗就會出現一個黃色的框框顯示與這個程序有關的服務內容:

什麼是Svchost.exe

或者您也可以連按一個Svchost.exe,打開之後選擇『Services』,你可以選擇其中的一項服務按『Stop』停止。

什麼是Svchost.exe

關閉服務

找出列表中你想關閉的服務,請連按這個選項,或者按右鍵選擇『內容』。

什麼是Svchost.exe

將啟動類型改變為『已停用』,然後按下『停止』按鈕,這樣就可以立刻停止它。

什麼是Svchost.exe

您也可以使用命令提示字元停掉該服務。以上圖為例,我們要停止的服務名稱是『trkwks 』,你只要輸入:

sc config trkwks start= disabled

希望這篇文章能夠幫助到每個人