不可杀灭的进程通常会挂起很长时间

时间:2012-01-05 22:29:42

标签: process windows-7-x64

自重新安装Windows 7 Ultimate 64位SP1以来,有时进程需要很长时间才能关闭。这种情况在从VS2010发布时最常发生,但并不仅限于此。一个常见的情况是带有控制台(/ SUBSYSTEM:console)的Windows应用程序似乎正确关闭,但控制台保持打开状态数秒或数分钟。最终,控制台上会出现“按任意键以关闭”消息,并且该过程可以终止。

如何诊断此问题?

  • 我安装了Windows 7 Ultimate 64位SP1,但这次是vanilla(不是 N )版本
  • 我手动安装的唯一驱动程序是NVIDIA显示驱动程序,但我尝试了多个WHQL版本
  • 症状与此问题非常吻合 Visual studio debug console sometimes stays open and is impossible to close 但是,即使非控制台应用也会受到影响。
  • 本机和托管应用程序都受此影响。
  • 错误:我认为只有32位进程受到影响,但64位进程也会受到影响。
  • 如果已经附加了调试器,并且我在进程等待时断开了调试器 说:
  

这个过程似乎陷入僵局(或者没有运行任何
  用户模式代码)。所有线程都已停止。

  • 我无法在处于此状态的进程中附加调试器
  • 我无法从任务管理器中删除这些僵尸进程 ProcessExplorer,即使在关闭所有引用的句柄时也是如此 流程。 (但我无法关闭lsass.exe的句柄)

  • ProcessExplorer说是挂线功能的唯一线程 每个挂起进程都有 ntdll!RtlDosSearchPath_Ustr。

  • 大多数时候我必须完全关闭Visual Studio以允许 僵尸进程关闭。
  • Process Monitor在每种情况下挂起的最后一个事件是 一个线程退出,它成功了,看起来像是出口了 正常的时间。当流程最终关闭时,没有任何事件 出现。
  • 当我按照上面列出的步骤进行操作时,LiveKd没有显示任何内容 http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

看起来好坏的驱动程序是罪魁祸首,所以我很快就会重新安装Windows。

0 个答案:

没有答案