繁体   English   中英

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

[英]How to make sure that python script will run forever on windows?

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

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

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

A)我需要找到一种机制(或几种机制)来在所有可能关闭的场景中重新启动脚本(如果仅在 2 分钟后重新启动就可以了......):

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

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

有任何想法吗? 谢谢!!

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

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

  1. 由于您的脚本在 Windows 上运行,因此您可以使用Microsoft 任务计划程序(随 Windows 一起安装)在计算机启动时启动 Python 脚本。

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

  3. 要在发生异常后打开脚本,请查看此博客文章: 如何在异常发生后重新启动 Python 脚本并永远运行它

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM