1

好的,这是一个有点奇怪的问题,但我发现了一个类似于这些的问题:

调试的程序窗口不会关闭

无法在 Win XP 上杀死 cmd.exe 的实例

如何关闭从 Visual Studio 中打开的“孤立”控制台窗口?

我最近在生产环境中发现了这个问题,奇怪的是这台机器没有安装VS,我没有调试,但行为完全一样。我发现唯一真正有效的是使用 PSKill ( http://technet.microsoft.com/en-us/sysinternals/bb896683 ) 来关闭 csrss.exe (控制所有控制台窗口)。这显然造成了崩溃,但我能够重新启动机器。我发现这特别有用,前提是这样的机器在物理上无法访问。

盒子详情如下:

Pentium 4, 1GB RAM, Windows XP SP2(请注意,这不是我理想的设置,但不是我决定的 :P)

但是,我想知道是否有办法防止这种情况再次发生。

我想强调一下,这台机器上没有安装 VS,运行的程序不是 Debug 版本,而是 Release 版本。我确实尝试了 Microsoft 的 KB 982551 修补程序,但无济于事。

该应用程序的详细信息如下:它通过命名管道打开并连接到另一个进程,然后如果通信中断或您通过 X 按钮或键入“q”关闭控制台窗口,它将关闭。显然,命名管道沿途某处掉了下来,并且应用程序保持活动状态(在任何其他情况下都不会发生,只是这个)。

你能想出一种在更容易控制的环境中跟踪/重现这种行为的方法吗?

如果您要求,我很乐意发布代码的任何部分,我现在不这样做,因为有 5 个不同的文件可以完成全部工作。

编辑:哦,我忘了告诉你,目标机器没有 KB 978037,以防你想知道。

4

0 回答 0