问题标签 [keyboardinterrupt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
722 浏览

python - 使用嗅探功能时未捕获键盘中断

每当有键盘中断时,我都会尝试清空列表,但这不起作用。下面是我的代码。

我尝试做所有可能的事情,但这个中断处理程序不起作用。有什么帮助吗?

0 投票
2 回答
768 浏览

assembly - 字符串不会在汇编程序中打印出来

我正在尝试通过 DOS 中的汇编程序 x86 学习一些深度编程,因为它启用了真实地址模式。但是在我尝试这样做时,我试图制作一个程序来打印用户是否按下了其中一个控制键;CTRL、CAPS LOCK 或 SCROLL LOCK,但问题是程序不打印出来。感觉好像缺乏某种基础知识,所以我问这里是否有人知道我的程序有什么问题。如果我按 q (如退出),它不会写出任何内容但能够关闭?..谢谢

0 投票
1 回答
1143 浏览

python - 为程序的重要部分延迟Python中的键盘中断

对于程序的重要部分(在我的示例中为一个循环)延迟键盘中断的方法是什么。

我想下载(或保存)很多文件,如果时间太长,我想在下载最近的文件后完成程序。

我需要像在 Python 中捕获键盘中断的答案中那样使用信号模块而不使用 try-except吗?我可以使用信号处理程序将全局变量设置为 True 并在它为 True 时中断循环吗?

原来的循环是:

0 投票
0 回答
419 浏览

interrupt - 如何在 TSR 程序中使屏幕闪烁?

我编写了一个用作屏幕保护程序的程序,即如果没有按下键盘按钮,10 秒后所有命令提示符屏幕都会被清除。简而言之,我已经迷上了定时器和键盘中断。但我希望程序显示闪烁的屏幕,即显示命令提示符和空白屏幕的所有文本。但我目前的情况是,如果没有按下任何按钮,它会在 10 秒后继续显示空白屏幕。如何修改我的程序以显示在清除屏幕和文本数据之间交替显示闪烁屏幕,而不仅仅是清除屏幕。这是我的程序:

抱歉我的缩进很差。我发现在这个网站上缩进代码非常困难。

0 投票
2 回答
3433 浏览

python - 键盘中断需要一段时间

所以我刚开始在 Linux 上使用 Python,使用 Tkinter。我正在尝试使用 KeyboardInterrupt Exception 使 Cntrl+C 停止执行,但是当我按下它时,暂时没有任何反应。最终它“接受”并退出。一点点阅读表明这可能与线程或其他东西有关,但我对这些东西太陌生了,我真的不知道从哪里开始。

我讨厌成为只想要快速修复的菜鸟,所以如果你的答案就像将我指向正确的文档一样简单,那就太好了。

0 投票
2 回答
9760 浏览

python - 带有 os.system() 调用的 Python 线程。ctrl+c 主线程不退出

在阅读之前请不要认为它是重复的,有很多关于multithreadingand的问题keyboard interrupt,但我没有发现任何考虑 os.system 的东西,它看起来很重要。

我有一个 python 脚本,它在工作线程中进行一些外部调用。如果我按下,我希望它退出ctrl+c但看起来主线程忽略了它。

像这样的东西:

令人惊讶的是,如果我更改os.system("sleep 10")time.sleep(10).

0 投票
1 回答
3481 浏览

assembly - x86 汇编器中断代码

嘿,我正在编写汇编代码.. 我正在尝试解决一个中断问题,该问题要求我将一个长按钮视为一个按钮,而我被困在这里!所以请有人可以帮助我或给我一个方向如何继续......当我按下按钮 ZF==0 并且当我离开按钮 ZF==1 这可能会有所帮助,非常感谢

0 投票
2 回答
1553 浏览

variables - Python - 在下一个会话退出时更改变量值

我想在退出时更改变量的值,以便在下一次运行时保持上次设置的值。这是我当前代码的简短版本:

在“KeyboardInterrupt”上,我希望在 while 循环中设置的最后一个值是全局变量。下次运行代码时,该值应该是第 2 行中的“x”。可能吗?

0 投票
1 回答
388 浏览

multithreading - 多线程 perl 脚本中的 Control+C 处理

我是 perl 新手,在我的 perl 脚本中处理 ^C 时遇到问题。当我在睡眠期间收到 ^C 后尝试继续执行脚本时,我只在 $FLAG = 2; 之前输出 之后什么都没有:

代替:

它接缝 ^C 正在杀死进度条线程,并且在它死后没有任何动作,但可以在主线程中执行打印。谁能帮我解决这个问题?

0 投票
7 回答
10222 浏览

python - 导入 scipy.stats 后 Ctrl-C 使 Python 崩溃

我在 Win7 64 位上运行 64 位 Python 2.7.3。我可以通过这样做可靠地使 Python 解释器崩溃:

并在睡眠期间按 Control-C。没有引发 KeyboardInterrupt;解释器崩溃。打印以下内容:

这使得无法中断长时间运行的 scipy 计算。

谷歌搜索“forrtl”等,我看到这种问题是由于使用了覆盖 Ctrl-C 处理的 Fortran 库引起的。我在 Scipy 跟踪器上没有看到错误,但鉴于 Scipy 是一个与 Python 一起使用的库,我认为这是一个错误。它打破了 Python 对 Ctrl-C 的处理。有什么解决方法吗?

编辑:按照@cgohlke 的建议,我尝试在导入 scipy 后添加自己的处理程序。 这个关于相关问题的问题表明添加信号处理程序不起作用。我尝试通过 pywin32使用 Windows API SetConsoleCtrlHandler函数:

在此之后,按 Ctrl-C 会打印“我在这里”,但 Python 仍然会因 forrtl 错误而崩溃。有时我还会收到一条消息说“ConsoleCtrlHandler 功能失败”,该消息很快就消失了。

如果我在 IPython 中运行它,我可以在 forrtl 错误之前看到一个正常的 Python KeyboardInterrupt 回溯。如果我引发其他错误而不是 KeyboardInterrupt(例如 ValueError),我还会看到一个正常的 Python 回溯,然后是 forrtl 错误:

似乎无论底层处理程序在做什么,它不仅仅是直接捕获 Ctrl-C,而是对错误条件 (ValueError) 做出反应并自行崩溃。有没有办法消除这种情况?