检查文件是否更新,如果未按时更新,则重新启动脚本
import os
import sys
import time
import datetime
while True:
heart_file = 'tmp/heart.txt' # 更新文件
mtime = os.path.getmtime(heart_file) # 获取文件更新时间
mtime = datetime.datetime.fromtimestamp(mtime) # 时间转为datetime格式
print("write time: ", mtime)
start_time = datetime.datetime.now() # 记录当前时间
#start_time = time.localtime()
print("start_time: ", start_time)
delta_time = start_time - mtime # 时间差
delta_seconds = delta_time.total_seconds() #时间差转成秒
print(delta_seconds)
if delta_seconds > 600: # 如果文件更新时间大于600秒,重新启动程序
print("restart: ", datetime.datetime.now())
os.system("ps -ef | grep server.py | awk '{print($2)}' | xargs -L 1 -I pid kill pid") # 杀掉就程序
os.system('nohup python server.py > log/log.txt 2>&1 &') # 重启程序
time.sleep(300) # 每300秒重复一次