在 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 进行保护(进一步尝试)。
当我尝试手动关闭此句柄一次,然后尝试使用其“终结者”->“在内核模式下关闭...”来终止 skypekit.exe 时,我得到了内核恐慌。
我发现真正结束这些进程的唯一方法是关机(这没有任何问题)。
为什么会发生这种情况?我该如何终止这些进程?