簡體   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