如何确保python脚本将在Windows上永久运行?

时间:2019-05-01 07:18:07

标签: python python-3.x windows-10

我编写了一个运行无限循环的python脚本,每半秒钟检查目录中是否有新文件:

while True:
    files = os.listdir(path_to_dir)
    # do something
    time.sleep(0.5)

代码在cmd窗口中的Windows 10上运行,我需要确保它永远不会停止。

A)我需要找到一种机制(或几种机制),以便在所有可能关闭脚本的情况下重新启动脚本(如果仅在2分钟后重新启动就可以了……):

  1. 如果计算机正在重新启动
  2. 如果有人关闭cmd窗口
  3. 如果脚本由于未处理的异常或内存泄漏而意外结束(这不应该发生...)

B)我希望每周一次主动关闭脚本,然后重新启动。

有什么想法吗? 谢谢!

p.s。我的第一个想法是python脚本仅检查新文件,计划的任务将每秒运行一次,但是任务计划程序的最小间隔为1分钟。

1 个答案:

答案 0 :(得分:0)

我认为这些回答了您所有的问题:

  1. 由于脚本在Windows上运行,因此您可以在计算机启动时使用Microsoft Task Scheduler(随Windows一起安装)来启动Python脚本。

  2. 如果不使用cmd窗口,则可以将Python脚本扩展名从.py更改为.pyw,以在没有终端窗口的情况下运行脚本。这里还有更多内容:Executing scripts

  3. 要在发生异常后打开脚本,请查看此博客文章:How to Restart Python Script after Exception and Run it Forever

  4. 要每周一次重新启动脚本,您还可以使用答案1中提到的任务计划程序。我认为这最有助于您重新启动脚本:Start and stop a python task

相关问题