好吧,我在命令行上瞎折腾,想看看是否可以使用无限循环在屏幕上产生视觉效果。用 ASCII Art 瞎折腾。我开始使用timeout /t 1
after each echo
,但这样无法让输出交换得足够快,即使窗口缩小到 1" x 1" 的小方块(带小字体)。
无论如何,我想将 1 秒的超时时间减半,当我试图记住使用 VBS 的 sleep 命令的批处理文件的名称时,我愚蠢地忘记了任何超时,当然我的机器实际上停止了,因为该版本的 cmd.exe 占用了几乎所有可用的 CPU 周期。
我尝试使用图形界面taskman.exe
来终止进程,但不知何故右键单击它,现在出现了一个无法关闭的 2 项上下文菜单,其下方闪烁着所有正在运行的进程,我无法单击甚至排序。但即使没有它,我怀疑我仍然无法使用它。
当我尝试使用TASKKILL.EXE
终止时任何过程中,我得到:
ERROR: This operation returned because the timeout expired.
有时还会得到:
ERROR: Server execution failed.
在过去的几个小时里,我使用 Nook 搜索有关延长超时时间的任何信息,但都无功而返,我几乎放弃了。我真的不想因为有需要保存的内容而直接关闭它,但看起来我可能不得不忍气吞声,切断电源。
如果您能提供任何可以关闭失控进程/消除TASKILL
超时的方法,我将不胜感激。
EDIT:
哈利想知道是什么代码导致了这种行为,所以我添加了代码,并建议除非他们准备硬关闭计算机,否则不要运行它。
我不记得我打印的确切设计,我试图保存它,但显然失败了,但这里是代码:
@for /l %x in (0 0 1) do (
echo.
echo.
echo ASCII Art
echo ASCII Art
echo ASCII Art
echo ASCII Art
echo ASCII Art
echo.
REM @timeout /t 1 > nul
echo.
echo.
echo.
echo ASCII Art
echo ASCII Art
echo ASCII Art
echo ASCII Art
echo ASCII Art
echo.
REM @timeout /t 1 > nul
echo.
echo.
)
答案1
这些症状很可能是由硬件问题引起的。要么是硬件问题,要么是操作系统损坏(恶意软件感染、设备驱动程序存在缺陷、安全软件不兼容等)。
您不应该仅仅因为程序以 100% 的 CPU 运行而出现此类症状。(我刚刚在这里的测试机上运行了您的代码,正如预期的那样,它根本没有引起任何问题。)
为了解决原始问题,所讨论的超时可能是内部操作系统超时(以防止死锁)而不是特定于 taskkill 的任何超时,因此(a)没有办法延长它;(b)即使可以,也可能不会有帮助。