我有一个解析一些文件的python脚本,但有时会出现未知错误,脚本也会失败
所以我尝试制作一个程序,检查文件是否为timestamp pid
,主程序每30秒更新一次timestamp
。
def start_server():
subprocess.Popen("C:\Server.py", shell=True)
while True:
f = open('C:\server.conf', 'r+')
text = f.read().split(' ')
pid = int(text[0])
lastTime = text[1]
if float(time.time()) - float(lastTime) > 90:
temp = subprocess.Popen("taskkill /F /T /PID %i" % pid , stdout=subprocess.PIPE, shell=True)
out, err = temp.communicate()
print ' [INFO] Server.py was killed, and started again.'
start_server()
time.sleep(30)
但如果最后一个程序实例失败,则不会启动新的server.py
任何想法我怎么能使这个工作?
谢谢!