如何在脚本结束后重启Python程序

10 投票
7 回答
28957 浏览
提问于 2025-04-18 00:12

我有一个Python脚本,它的主要功能是收集数据并根据数据库上次更新的时间把数据插入到数据库里。简单来说,我希望这个脚本能够一直运行,不会停止,并且在完成后能自动重新启动。请问有什么好的方法可以做到这一点呢?

我考虑过使用定时任务(cronjob),创建一个锁文件,让脚本每分钟运行一次,但我觉得可能还有更有效的方法。

这个脚本目前是在Ubuntu操作系统上用Python 2.7编写的。

谢谢你的帮助!

7 个回答

0

你还可以在程序结束时询问用户是否想要再次运行这个程序。

prompt = input("would you like to run the program?")  
while prompt == "yes":  
...  
...  
prompt = input("would you like to run program again?")  
0

让它自己运行,使用相同的参数,可能需要先用 chmod +x 命令来给它加上可执行权限。

os.execv(__file__, sys.argv)
0

把你的代码放在一个 while 语句里:

while 1==1: #this will always happen
    yourscripthere
7

试试这个:

os.execv(sys.executable, [sys.executable] + sys.argv)
12

你可以把你的脚本放在一个

while True:
    ...

块里面,或者用一个bash脚本来处理:

while true ; do
    yourpythonscript.py
done

撰写回答