Как перезапустить python script после его завершения

Вопрос:

У меня есть python script, который будет запущен, который в основном собирает данные и вставляет их в базу данных, основываясь на последнем обновлении базы данных. В основном, я хочу, чтобы этот script продолжал работать и никогда не останавливался, и снова запускать его после завершения. Какой был бы лучший способ сделать это?

Я рассмотрел использование cronjob и создание файла блокировки и просто запускаю script каждую минуту, но я чувствую, что может быть более эффективным способом.

Этот script в настоящее время написан на python 2.7 на OS ubuntu

Спасибо за помощь!

Лучший ответ:

Вы можете обернуть свой script в

while True:
    ...

или с помощью bash script:

while true ; do
    yourpythonscript.py
done

Ответ №1

Попробуйте следующее:

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

Ответ №2

Оберните свой код в операторе while:

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

Ответ №3

Попросите его запустить сам, с теми же аргументами, вероятно, chmod +x it

os.execv(__file__, sys.argv)

Ответ №4

вы также можете запросить у своего пользователя, хотите ли они снова запустить программу в обертке.

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

Ответ №5
while True:
execfile("test.py")

Это будет продолжать выполнение test.py снова и снова.

Оцените статью
TechArks.Ru
Добавить комментарий