Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Как ограничить время работы сценария?

#python #windows #python_2x


Как ограничить время работы сценария? Например я поставил чтобы через 5 минут программа
закрылась, она работает и как только 5 минут пройдет программа закроется. Как это можно
реализовать? В windows.
    


Ответы

Ответ 1



Код сценария выполняется в функции run. Функция join ждет указанное количество времени, блокируя дальнейшее выполнение кода в главном потоке. После окончания указанного времени скрипт напечатает в консоль сообщение и закроется. Параметр daemon=True указывает, что поток при завершении главного потока также завершится: import threading def run(): import time i = 1 # Бесконечный цикл while True: print i i += 1 time.sleep(1) if __name__ == '__main__': thread = threading.Thread(target=run) thread.daemon = True thread.start() thread.join(5 * 60) print 'Quit!'

Ответ 2



варант 1 простой import time start_time=time.time() while (time.time() - start_time) < 300: pass # ваши действия вариант 2 import multiprocessing import time def your_func(): pass # ваши действия if __name__ == '__main__': p = multiprocessing.Process(target=your_func) p.start() # Ждём 300 секунд (5 минут) p.join(300) # Если процесс живой,то убиваем его if p.is_alive(): print "Kill it." # Terminate p.terminate()

Ответ 3



import time start_time = time.time() CLOSE_AFTER = 300 # время указывается в секундах, текущее - 5 минут while True : # основные действия if time.time() > start_time + CLOSE_AFTER: break

Комментариев нет:

Отправить комментарий