您好,登錄后才能下訂單哦!
這篇文章主要講解了“python怎么每天在指定時間段運行程序及關閉程序”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python怎么每天在指定時間段運行程序及關閉程序”吧!
程序需要在每天某一時間段內運行,然后在某一時間段內停止該程序。
程序:
from datetime import datetime, time import multiprocessing from time import sleep # 程序運行時間在白天8:30 到 15:30 晚上20:30 到 凌晨 2:30 DAY_START = time(8, 30) DAY_END = time(15, 30) NIGHT_START = time(20, 30) NIGHT_END = time(2, 30) def run_child(): while 1: print("正在運行子進程") def run_parent(): print("啟動父進程") child_process = None # 是否存在子進程 while True: current_time = datetime.now().time() running = False # 子進程是否可運行 if DAY_START <= current_time <= DAY_END or (current_time >= NIGHT_START) or (current_time <= NIGHT_END): # 判斷時候在可運行時間內 running = True # 在時間段內則開啟子進程 if running and child_process is None: print("啟動子進程") child_process = multiprocessing.Process(target=run_child) child_process.start() print("子進程啟動成功") # 非記錄時間則退出子進程 if not running and child_process is not None: print("關閉子進程") child_process.terminate() child_process.join() child_process = None print("子進程關閉成功") sleep(5) if __name__ == '__main__': run_parent()
import os import time def print_ts(message): print "[%s] %s"%(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), message) def run(interval, command): print_ts("-"*100) print_ts("Command %s"%command) print_ts("Starting every %s seconds."%interval) print_ts("-"*100) while True: try: # sleep for the remaining seconds of interval time_remaining = interval-time.time()%interval print_ts("Sleeping until %s (%s seconds)..."%((time.ctime(time.time()+time_remaining)), time_remaining)) time.sleep(time_remaining) print_ts("Starting command.") # execute the command status = os.system(command) print_ts("-"*100) print_ts("Command status = %s."%status) except Exception, e: print e if __name__=="__main__": interval = 5 command = r"ls" run(interval, command)
感謝各位的閱讀,以上就是“python怎么每天在指定時間段運行程序及關閉程序”的內容了,經過本文的學習后,相信大家對python怎么每天在指定時間段運行程序及關閉程序這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。