每小时使用批处理文件重新加载 python 脚本
Posted
技术标签:
【中文标题】每小时使用批处理文件重新加载 python 脚本【英文标题】:Reloading a python script using a batch file every hour 【发布时间】:2021-12-17 02:30:14 【问题描述】:大家好!脚本有时会关闭。滴。我用以下批处理文件解决了这个问题:
@echo off
:start
python script.py %*
goto start
请告诉我如何每小时重新加载一次脚本? 我已经尝试了给定的命令:
@echo off
:start
python script.py %*
timeout /t 3600
taskkill /im cmd.exe /f ; or python.exe ; or py.exe
goto start
不幸的是它没有出来:(
【问题讨论】:
如果您想按计划运行某些内容,请使用 Windows 任务计划程序。您当前的想法很疯狂,因为它无限运行批处理文件。但是,从技术上讲,如果您要强制关闭,(应该很少这样做),cmd.exe
,无论如何您都会永久结束该批处理文件。
她为什么疯了?我需要脚本 24/7 全天候工作。脚本每 2-3 小时崩溃一次,我无法每周 7 天、每天 24 小时跟踪它。我所实施的解决了这个问题。
或者可以使用threading.Timer(3600, function)在Python中每小时运行一次函数。
或者只是在 linux 上使用 linux systemd 计时器而不是 windows
对不起,如果我写错了,我不会说英语:)
【参考方案1】:
试试:
@echo off
:start
cls
python script.py %*
timeout /t 3600 /nobreak
tasklist | find /i "python.exe" >NUL && taskkill /f /im "python.exe" || taskkill /f /im "py.exe"
goto start
脚本将检查“python.exe”是否正在运行(在这种情况下它将被终止),否则脚本将终止“py.exe”。 /nobreak 属性确保超时将继续运行,即使您按下一个键,并且 taskkill 上的 /t 属性会杀死进程及其所有子进程
【讨论】:
以上是关于每小时使用批处理文件重新加载 python 脚本的主要内容,如果未能解决你的问题,请参考以下文章