在 Windows 8 上,我經常使進程進入無法終止的狀態。 Skypekit.exe 似乎是最有可能觸發該問題的進程,但其他進程也可能會這樣做。
當我嘗試終止這些進程時,有時會收到“訪問被拒絕”訊息,有時什麼也不會發生 - 但是每一個以下嘗試終止該進程也會導致「存取被拒絕」訊息,即使我...
- 擁有管理權限(並用它運行任務管理器)
- 擁有該流程
- 有權終止它
「Process Hacker 2」顯示了更詳細的錯誤訊息,指出我無法終止該進程,因為它已經被終止。儘管如此,該進程肯定仍然存在,因為我測試的每個任務管理器仍然可以看到它。
根據 Process Hacker 的說法,skypekit.exe 仍在運行一個線程:skypekit.exe!Sal::VoiceEngineInterface::SALwindows_salsa_debug_3871+0x257e5
Process Hacker 的「終結者」無法殺死這樣的進程,但是當執行「關閉進程句柄」策略時,Process Hacker 自己陷入困境,使其視窗處於「無響應」狀態。在這種狀態下,其他任務管理器又無法殺死 Process Hacker。
問題似乎是無法關閉的句柄。該句柄名為“\Device\Afd”。關閉此句柄會導致關閉該句柄的進程以相同的方式卡住(第一次嘗試),或者出現一條錯誤訊息,解釋該句柄已使用 NtSetInformationObject 進行保護(進一步嘗試)。
當我嘗試手動關閉此句柄一次,然後嘗試使用其“Terminator”->“close ... in kernel mode”終止skypekit.exe時,我遇到了內核恐慌。
我發現真正結束這些進程的唯一方法是關閉(這不會有任何問題)。
為什麼會發生這種情況?我怎樣才能殺死這些進程?