Skip to main content

什麼是“Windows任務的主機進程”,以及為什麼在我的PC上運行這麼多?

什麼是“Windows任務的主機進程”,以及為什麼在我的PC上運行這麼多?

Geoffrey Carr

如果您花時間瀏覽任務管理器窗口,您可能已經看到一個名為“Windows任務的主機進程”的進程。事實上,您可能已經看到同時運行此任務的多個實例。如果你曾經想知道它是什麼以及為什麼有時這麼多,我們就能得到答案。

本文是我們正在進行的系列文章的一部分,該系列解釋了任務管理器中的各種過程,如Runtime Broker,svchost.exe,dwm.exe,ctfmon.exe,rundll32.exe,Adobe_Updater.exe等等。不知道那些服務是什麼?最好開始閱讀!

它是什麼以及為什麼在任務管理器中有這麼多?

Windows任務的主機進程是Microsoft的官方核心進程。在Windows中,從可執行(EXE)文件加載的服務能夠將自己置於系統上的完整,單獨的進程,並在任務管理器中按其自己的名稱列出。從動態鏈接庫(DLL)文件而不是從EXE文件加載的服務不能將其自身作為完整過程。相反,Windows任務的主機進程必須充當該服務的主機。

您將看到為加載到Windows中的每個基於DLL的服務運行的單獨的Host Tasks for Windows Tasks條目,或者可能為一組基於DLL的服務運行。基於DLL的服務是否以及如何分組取決於服務的開發人員。您看到多少個實例完全取決於您在系統上運行了多少個此類進程。在我當前的系統中,我只看到兩個實例,但在其他系統上,我看到了多達十幾個。

遺憾的是,任務管理器無法準確查看每個Host Tasks for Windows Tasks條目附加了哪些服務(或服務組)。如果您真的很想知道每個實例的鏈接,您需要下載Process Explorer,這是Microsoft提供的免費Sysinternals實用程序。它是一個便攜式工具,所以沒有安裝。只需下載它,解壓縮文件並運行它。在Process Explorer中,選擇View> Lower Pane以查看您選擇的任何進程的詳細信息。向下滾動列表並選擇一個taskhostw.exe條目。這是Windows任務服務的主機進程的文件名。

通過查看下方窗格中的詳細信息,我可以將此服務鏈接到我的音頻驅動程序並且還具有與鍵盤佈局相關聯的註冊表項。所以,我將假設當我按下鍵盤上的任何媒體鍵(音量,靜音等)時監視它的服務,並在需要的地方提供適當的命令。

為什麼在Windows Startup中使用如此多的資源?

通常,CPU和內存Windows任務的Host Process的每個實例僅取決於條目附加到哪個服務。通常,每項服務都會消耗完成工作所需的資源,然後重新回到活動基線。如果您注意到任何單個Host Process for Windows Tasks實例持續使用的資源超出您的預期,您將需要跟踪哪個服務附加到該實例並對相關服務本身進行故障排除。

您會注意到,啟動後,Host Tasks for Windows Tasks的所有實例可能看起來都在消耗額外的資源 - 尤其是CPU。這也是正常行為,應該迅速安定下來。 Windows啟動時,Windows任務的主機進程會掃描註冊表中的服務條目,並構建一個需要加載的基於DLL的服務列表。然後它加載每個服務,你會發現它在那段時間內消耗了相當多的CPU。

我可以禁用嗎?

不,您無法禁用Windows任務的主機進程。反正你也不想要。能夠將基於DLL的服務加載到您的系統上是必不可少的,並且根據您運行的內容,禁用Windows任務的Host Process可能會破壞任何數量的東西。 Windows甚至不會讓您暫時結束任務。

這個過程可能是病毒嗎?

該過程本身是一個官方的Windows組件。雖然病毒可能已經用自己的可執行文件替換了真正的Windows任務主機進程,但這種可能性很小。我們沒有看到有關劫持此過程的病毒報告。如果您想確定,可以查看Host Tasks for Windows Tasks的基礎文件位置。在“任務管理器”中,右鍵單擊“Windows任務的主機進程”,然後選擇“打開文件位置”選項。

如果文件存儲在Windows System32文件夾中,那麼您可以確定您沒有處理病毒。

也就是說,如果您仍然想要更安心一點 - 或者如果您看到該文件存儲在System32文件夾以外的任何位置 - 使用您首選的病毒掃描程序掃描病毒。比抱歉更安全!

Link
Plus
Send
Send
Pin