【发布时间】:2022-03-06 01:51:58
【问题描述】:
我有一个在启动时作为 cronjob 启动的 python 脚本来收集测量数据:
@reboot python /path/to/my_script.py
Linux 机器每天在特定时间作为 cronjob 重新启动:
57 23 * * * sudo reboot
在重新启动时,我仍然有尚未保存的测量数据,需要将其传输到可能需要几秒钟的网站。从我看到的重新启动或关闭命令会给出一些提前警告以正常关闭,但是我还没有找到一种方法来捕捉它。
到目前为止,我一直在尝试signal.SIGTERM, signal.SIGHUP ,但这些并没有削减它,也不会对关机命令做出反应。也尝试使用 nohup 并没有产生预期的结果。
关于如何在 Python 脚本中检测关机前的时间有什么建议吗? 干杯 ye_ol_man
【问题讨论】:
-
atexit模块可能是满足您要求的最简单方法。 -
很遗憾没有。
atexit在我停止脚本本身时做出反应,但是当我执行rebootthen 时,我看不到已注册的处理程序已执行。