问题标签 [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 回答
4869 浏览

java - 在 Java 中处理键盘中断

在 Java 中处理 KeyboardInterrupt (Ctrl + C) 的最简单方法是什么?

说我有这个代码:

有一种简单的方法可以做到这一点吗?

0 投票
1 回答
1321 浏览

exception - KeyboardInterrupt Exception 有时有效吗?

我有这个简单的python脚本:

当我使用 Python 3.2.3 运行脚本时,不会一直捕获 Ctrl-C 键盘异常,这意味着有时会起作用。实际上,当尝试在任意时刻从程序中按 Ctrl-C 时,错误消息是不同的。这是脚本连续运行 3 次时控制台上的输出:

它最后一次工作。为什么它有时只起作用!?我究竟做错了什么?

0 投票
1 回答
4793 浏览

assembly - 汇编语言 8086 键盘和鼠标中断

我无法弄清楚如何为我的矩阵程序实现键盘和鼠标中断,以使我的永无止境的矩阵程序在按下键盘上的任何键和/或移动鼠标时终止,以及任何时候鼠标上的按钮被按下。

这是我的矩阵代码:

这是我的教授给我的键盘中断代码:

这是我的教授还给我的鼠标中断代码:

所以我基本上必须将键盘和鼠标中断代码合并为一个,这样当运行我的程序的任何人都可以通过按下键盘上的一个键、移动鼠标​​或单击鼠标上的按钮来终止它(左键单击、右键单击单击和中间按钮)。

对于键盘终止部分,我相信我的教授告诉我们,我们只需将代码粘贴到代码的“Loop2: ;Matrix code goes here loop Loop2”部分,但我很确定我只是听错了他。我相信他的意思是说我们必须将代码粘贴到该循环中并检查键盘键输入,但我知道这不是我知道如何检查输入的方式(mov ah 7h/1h,int 21h)所以我很困惑在那部分。

至于鼠标中断部分,似乎我的教授给了我我需要的一切,我只需将我的代码粘贴到我的鼠标中断代码的“;矩阵代码在这里”部分。如果这是不正确的,请告诉我,如果可能的话,请向我解释,如果可能的话,请举例说明我需要什么来使鼠标中断工作。

0 投票
3 回答
8550 浏览

python - 为什么 asyncio 的事件循环会抑制 Windows 上的 KeyboardInterrupt?

我有这个非常小的测试程序,除了执行asyncio事件循环之外什么都不做:

当我在 Linux 上运行该程序并按Ctrl+C时,该程序将正确终止并出现KeyboardInterrupt异常。在 Windows 上按Ctrl+C什么都不做(用 Python 3.4.2 测试)。即使在 Windows 上,一个简单的无限循环也会正确time.sleep()引发:KeyboardInterrupt

为什么 asyncio 的事件循环会抑制 Windows 上的 KeyboardInterrupt?

0 投票
2 回答
3196 浏览

python - 在不关闭 Python 中的 Selenium Webdriver 会话的情况下捕获“KeyboardInterrupt”

Python 程序通过 Selenium WebDriver 驱动 Firefox。代码嵌入在try/except块中,如下所示:

如果程序因错误而中止,WebDriver 会话不会关闭,因此 Firefox 窗口保持打开状态。但是如果程序异常中止KeyboardInterrupt,Firefox 窗口就会关闭(我想是因为 WebDriver 会话也被释放了),我想避免这种情况。

我知道这两个异常都通过同一个处理程序,因为我"Caught exception"在这两种情况下都看到了消息。

如何避免关闭 Firefox 窗口KeyboardInterrupt

0 投票
1 回答
1278 浏览

python - 如何在 Enthought Canopy 环境下中断 Python 上的无限循环?

我不知道如何中断在 Windows 7 操作系统上通过 Canopy 运行的 python 2.7 上的无限循环。Ctrl+C 不起作用,“运行”菜单下的“中断内核”似乎也永远不起作用。在 linux (ubuntu) 上,keyboardinterrupt ctrl+c 工作得很好,但在 Windows 上不行。

我能够停止意外无限循环的唯一方法是通过“运行”菜单下的“重新启动内核”选项。不幸的是,这意味着我失去了所有工作变量,这是不可取的。在 MATLAB 上 Ctrl+C 工作得很好。

我在 Python 上发现了几个类似的键盘中断问题,但没有使用 Enthought Canopy 环境。

任何帮助深表感谢。

0 投票
1 回答
2333 浏览

python - 线程内的 Python DBusGMainLoop 并尝试捕获块

我目前正在尝试创建一个 python 脚本,它必须使用 GObject.MainLoop() 与蓝牙客户端进行通信。我将循环放在一个新线程中,以免阻塞剩余的代码。

一切正常,直到我尝试使用 Control + C 退出程序。如果我点击此命令,第二个 try and catch 块(“Host:...”)似乎没有被执行。

示例脚本:

脚本的输出:

现在我想知道为什么“print(”Host:KeyboardInterrupt“)”没有被执行。此外,我不确定如何解决所述警告。

希望你能帮忙!

0 投票
1 回答
562 浏览

python - 我们如何使用python生成键盘中断

有没有一种方法可以在不使用 linux 中的 python 程序实际按下键盘上的键的情况下生成键盘中断。如果有人按下了键盘上的键,则中断应该看起来像,并且无论当前聚焦的窗口如何,整个系统都应该获得该中断。例如,如果我打开了一个编辑器并且我的 python 程序为键“A”生成了一个中断,那么“A”应该在编辑器中打印出来。

0 投票
1 回答
1681 浏览

python - 干净地退出 Ctrl+C

当发生异常时,我想在没有部分处理数据的情况下干净地退出。这是我正在尝试的那种代码:

但是,当按下 ctrl+c 时,此代码会导致我的程序锁定。我试过让中断处理程序启动一个新线程,但这会导致 ctrl+c 什么都不做。

确保干净出口的正确方法是什么?

0 投票
1 回答
364 浏览

python - 如何通过对特定键使用键盘中断来更改 python 脚本中的对象?

查看 KeyboardInterrupt 以退出多线程脚本后,我想知道是否可以使用键盘上的向上和向下键来增加/减少正在使用的线程数?这有望以与 KeyboardInterrupt 相同的方式发生,以便它可以随时发生。这样的事情是否可能,或者是否有另一种更适合这种情况的方法?