python3實現:程序遇Error定時重啟
阿新 • • 發佈:2020-12-28
import os import time # 停止HFish def stopHFish(): # while True: try: # 找到HFish程序號 HFish_id = int(os.popen("pgrep HFish").read().strip()) # 沙了 os.popen('kill -9 '+ str(HFish_id)) print("HFish已關閉") except: print("程序不存在") # 啟動HFish def startHFish(): HFish_st_re = os.system('nohup ./HFish run > out.log 2>&1 &') time.sleep(5) # 重啟HFish def restartHFish(): stopHFish() print('%s HFish停止成功!' % time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) startHFish() print('%s HFish重啟成功!' % time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # 查詢日誌檔案中是否有error關鍵字 def finderror(): reached = False log_str = open('/opt/hfish/out.log', 'r').read() if 'runtime error' in log_str: reached = True else: reached = False return reached if __name__ == '__main__': while True: restartHFish() # 定時檢視日誌中是否存在error while finderror() == False: time.sleep(5)