我正在用代码块进行 C 语言练习。完成后,我编译并运行了它。
cmd 窗口没有正常运行,而是一片空白,无法输入任何内容,也无法显示任何输出。我谷歌了一下,发现有人遇到了类似的问题,他们的任务管理器中进程卡住了。
我最初从那里终止了进程(cmd exercise1),但代码块的行为仍然与以前相同。
我进一步在 Google 上搜索,发现了进程浏览器和进程黑客。我尝试了这两个工具,但都没有成功。我在进程浏览器里卡住了 2 个进程,到目前为止,我尝试过的方法都无法终止、暂停或重新启动它们。
此外,从代码块开始,当我尝试使用 exercise1.c(卡住的文件)执行任何操作时,它会编译并显示错误“权限被拒绝”并且无法正常运行,请帮忙:)
答案1
这让我想起当我编写 Windows 服务时,他们也不可能停止使用 Windows 任务管理器。
为了解决这个问题,我们必须找到一个名为的代码EnableDebugPrivAndRun.cpp
,将其编译为可执行文件,然后使用以下命令启动任务管理器:
C:\>EnableDebugPrivAndRun.exe TaskMgr.exe
这样,任务管理器就可以终止任何进程。谨防:甚至 Windows 核心进程也可能被终止(就像lsass.exe
在 Windows 2000 中一样),然后你只会得到一台冻结的机器)。
您仍然可以在其中找到代码和完整文章Microsoft 文章。单击名为 的链接即可获得该代码Figure 3
。
我很久以前就在 Windows NT4 和 Windows 2000 机器上使用过它,但我不确定它是否仍然适用于最新版本的 Windows,也许现在 Microsoft 的最新开发环境会提供这样的工具。
更新:显然其他一些用户找到了解决方案超级用户问题我还找到了一个 Windows 调试工具,其中包含kill
命令也应该可以完成这项工作。
MSDN 站点摘录:
Windows 调试工具(WinDbg、KD、CDB、NTSD)
获取 Windows 调试工具的 3 种方法:
作为 WDK 的一部分,安装 Microsoft Visual Studio,然后安装 Windows 驱动程序工具包 (WDK)。Windows 调试工具包含在 WDK 中。
作为 Windows SDK 的一部分,安装 Windows 软件开发工具包 > (SDK)。Windows 调试工具包含在 Windows SDK 中。
作为独立工具集如果您只想下载“Windows 调试工具”,请安装 Windows SDK,并在安装过程中选中“Windows 调试工具”框并清除所有其他框。
调试工具包可用这里。