什麼是 svchost,為什麼它的多個實例正在執行?
我的桌面上有六個實例正在執行,我管理的伺服器上可能有十個。這是什麼,它對系統功能至關重要嗎?
svchost,在 Windows 中託管服務 請參閱KB。如果您使用Process Explorer,您可以查看哪些服務正在特定程序中執行。
Windows 的許多執行組件都是作為服務實現的(請參閱您機器上的所有服務打開
Control Panel > Administrative Tools > Services
)。這些是在後台執行的專門程序。它們不是由登錄使用者啟動的,而是由我的作業系統本身啟動的。大多數服務不是獨立的執行檔(EXE 文件),而是在庫 (DLL) 中實現,可供正在執行的程序使用。顧名思義,Svchost 或“服務主機”是 Windows 執行這些 DLL 的標準執行檔。您可以在目錄中找到 svchost.exe 文件
%systemroot%\system32
。如果您想知道哪個 svchost 實例正在執行哪個服務,請鍵入
tasklist /svc /fi "IMAGENAME eq svchost.exe"
在命令行控制台 (cmd) 上。
例如,在我製作螢幕截圖的機器上,svchost 的一個實例正在執行 21 個不同的服務。根據微軟的文件,這種服務分組允許更好的控制和更容易的調試。
Svchost.exe 組在以下系統資料庫項中標識:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost
提示(如果您執行 Windows Vista、Windows 7 或 Windows Server 2008):您可以打開任務管理器並右鍵點擊特定的 svchost.exe 程序,然後選擇“轉到服務”選項。這將顯示“服務
svchost.exe
”選項卡,其中將標記在所選程序下執行的所有服務。在微軟的下載中心有一個非常有趣的文件:
Microsoft Windows Server 2003 系統服務參考
本文件包含可用於 Windows Server 2003 系列作業系統的所有服務的摘要。這些服務按顯示名稱的字母順序列出。在每個服務的描述之後,一個表格列出了有關該服務的關鍵資訊。
列出了每個 Windows 服務及其所有詳細資訊。例如,您了解到終端服務服務的執行檔名是
svchost.exe -k termsvcs