问题:
由于某种原因,我的命令提示符偶尔会挂起,直到我按下一个随机键,它才会继续运行,好像什么都没发生一样。
发生:
当我运行一个耗时操作(例如构建/编译一些代码)时,就会发生这种情况。当它挂起时,它不会提示发生了什么,也不会提示我按任何键。
描述:
- 几分钟后,终端停止打印进度并卡住。
- 我原以为它只是卡在了编译过程的很长的一部分,但是几个小时后它仍然卡在同一个地方。
- 我随意按了一个键,它突然直接跳回来并继续喷出进度指示器并继续工作。
此后,类似事件在复制文件等冗长的过程中发生过多次。
这发生在多台运行 Windows 7 的设备上。在使用 bash shell 的 Ubuntu 上也发生过这种情况。
答案1
答案2
旧版 Windows 控制台有一个单独的模式,称为“标记模式”,用于选择文本。在该模式下,屏幕将冻结,以便于选择
如果启用了快速编辑模式(默认情况下在旧版 Windows 中已禁用但在 Windows 10 中启用)然后单击控制台窗口内部将激活标记模式并产生你所观察到的结果
很容易意外点击控制台并停止命令。当您按下Enter或Esc时,所选文本将被复制到剪贴板并退出标记模式,因此该过程将再次运行
以下是 Windows 8 控制台中 QuickEdit 模式设置的示例:
要解决这个问题,你可以禁用快速编辑模式。在这种情况下,复制会更麻烦,因为您必须打开上下文菜单,选择编辑 > 标记。您还可以通过设置禁用 QuickEditENABLE_QUICK_EDIT_MODE
模式SetConsoleMode()
如果你正在编写自己的控制台应用程序
但更好的解决方案是使用Windows 终端它明显更好、更快、功能更丰富、更强大
也可以看看
答案3
我找到了这个回答,它在 Windows 10 20H2 上对我有用。诀窍似乎是,
powercfg -change -standby-timeout-ac 0