gpt4 book ai didi

Python:WAITING按键或直到超时

转载 作者:太空狗 更新时间:2023-10-30 01:23:58 25 4
gpt4 key购买 nike

我在终端 session (主机是 FreeBSD 机器)中有一个长时间运行的 Python 脚本,它每 9 分钟执行一次任务。现在,我希望能够随时中断 sleep 调用,以便它立即执行任务。

我该怎么做?捕捉 Ctrl+C 不是一个选项,因为我需要它来停止程序(而不仅仅是中断 sleep )。我可以使用终端窗口和键盘执行的任何其他操作都可以。

最佳答案

在Thomas的建议下,我想出了这个函数:

import signal

def input_or_timeout(timeout):
def nothing(sig, frame): pass
signal.signal(signal.SIGALRM, nothing)
signal.alarm(timeout)
try:
raw_input()
signal.alarm(0)
except (IOError, EOFError): pass

它最多等待输入 timeout 秒。

在 Windows 下,我想您可以将 raw_input() 替换为 msvcrt 中的 getch()

关于Python:WAITING按键或直到超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7606064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com