繁体   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