gpt4 book ai didi

python - 如何防止脚本被挂起停止?

转载 作者:IT王子 更新时间:2023-10-29 00:36:03 27 4
gpt4 key购买 nike

我有一个 python 闹钟脚本,它需要在某个时间叫醒我。当我上床 sleep 并让它运行时,我使用的装有 Linux Mint 的笔记本电脑在闲置一段时间后会自行挂起。我怎么能防止我的脚本被停止并保持运行?我的笔记本电脑在我的房间里,我需要合上它的盖子,因为它的灯很烦人 sleep 。这是我的脚本。

import time
import sys
import webbrowser

alarm_HH = raw_input("Enter the hour you want to wake up at\n")
alarm_MM = raw_input("Enter the minute you want to wake up at\n")

print("You want to wake up at ", alarm_HH)
while True:
now = time.localtime()
if now.tm_hour == int(alarm_HH) and now.tm_min == int(alarm_MM):
webbrowser.open_new_tab("http://www.repeatmyvids.com/watch?v=SXLplRtMNfg&kmdom=youtube")
break

else:
timeout = 60 - now.tm_sec
if raw_input("Want me to stop?"):
break

[编辑]

好的,所以我明白了。我安装了 python xlib 模块,这是一个低级别的 python 库,您可以使用 sudo aptitude install python-xlib 安装。我添加了几行代码移动鼠标指针以防止挂起或休眠,这样我的脚本仍然可以在盖子关闭且没有来自任何地方的输入的情况下工作。

    d = display.Display()
s = d.screen()
root = s.root
root.warp_pointer(500,500)
d.sync()

我添加了其中的一些,现在的代码如下所示。

import time
import sys
import webbrowser
from Xlib import X, display

alarm_HH = input("Enter the hour you want to wake up at\n")
alarm_MM = input("Enter the minute you want to wake up at\n")

print("You want to wake up at ", alarm_HH)
while True:
now = time.localtime()
if now.tm_hour == int(alarm_HH) and now.tm_min == int(alarm_MM):
webbrowser.open_new_tab("http://www.repeatmyvids.com/watch?v=SXLplRtMNfg&kmdom=youtube")
break

else:
d = display.Display()
s = d.screen()
root = s.root
root.warp_pointer(500,500)
d.sync()

time.sleep( 5 )
root.warp_pointer(250,250)
d.sync()

time.sleep( 5 )
root.warp_pointer(100,100)
d.sync()

time.sleep( 5 )
root.warp_pointer(250,250)
d.sync()

感谢 EngHamoud 给我移动指针以防止挂起的想法。

最佳答案

将终止,因为您可以使用 atexit 脚本本身 http://docs.python.org/2/library/atexit.html

如果它因为操作系统“在用户未激活一段时间后”而挂起,我之前就遇到过这个问题,然后我使用模块 xlib 来控制我的鼠标将其随机移动到它会活跃起来

否则我认为你必须找出适合你的操作系统配置的正确方法

希望我已经回答了你想知道的问题

关于python - 如何防止脚本被挂起停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17060004/

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