簡體   English   中英

python自動重啟腳本

[英]python auto restarting script

我需要在過程結束時啟動的腳本。 我使用此代碼,但它等待execfile。 如何異步運行? 做腳本重啟的效果。

import time
print "start"
time.sleep(5)
print "go exec"
execfile('res.py')
print "stop exec"

您可能想要許多os.exec ...函數之一(在Unix-y系統上,例如Linux和Mac,以及Windows上)。 您需要使用(大致)與sys.argv中列出的相同參數來執行sys.executable (即.exe或非Windows操作系統上的等效可執行文件-當前正在使用Python版本)。 (盡管如果您還需要重現一些Python命令行標志,例如可能需要做更多工作,例如-u用於未緩沖的std I / O)。

若要從Python的異步執行一個程序,你可以使用POPEN功能顯示在這里

import subprocess
# ...
pid = subprocess.Popen(["/usr/bin/python2.7", "res.py"]).pid

就是說,如果您要一遍又一遍地調用某些東西,則可能要使用cron (所有UNIX變體,包括Linux和Mac OS X)或已啟動 (Mac OS X)。 您可以通過調用命令crontab -e然后添加如下一行來創建cron作業(下面的星號表示“每個”,分別代表分鍾,小時,一個月中的某幾天,幾個月和一周中的幾天) :

*    *    *    *    *    /usr/bin/python2.7  script_to_execute.py >/dev/null 2>&1

上面的行將每分鍾運行“ script_to_execute.py”。 您可以在cron Wikipedia頁面上看到一些示例,這些示例用於指定腳本運行的不同間隔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM