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)