Windows

什麼是 svchost,為什麼它的多個實例正在執行?

  • February 20, 2019

我的桌面上有六個實例正在執行,我管理的伺服器上可能有十個。這是什麼,它對系統功能至關重要嗎?

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 

引用自:https://serverfault.com/questions/11402