自动重启服务
情况是这样,有台前置机给自助机提供服务,时不时程序会报错卡死。然后前台的人就会打电话过来通知说“卡死了,你们看一下吧”,这边就登服务器去关掉报错窗口。次数多了就会不胜其烦。稍微搞一下自动化吧。
观察一下报错窗口,程序名是werfault.exe,Win7的应用程序报错。网上找了找检查Windows进程名的代码,如下:
importdatetime
importtime
importos
importwin32com.client
defCheckProcExistsByPN(process_name):
try:
WMI = win32com.client.GetObject('winmgmts:')
processCodeCov = WMI.ExecQuery(
'select * from Win32_Process where Name="%s"'%
process_name)
exceptException:
print(process_name,' ERROR')
iflen(processCodeCov) >:
print(process_name,' EXIST')
return1
else:
print(process_name,'DOES NOT EXIST')
return
主程序定时检查是否存在报错窗口,如果存在则关闭报错窗口(报错窗口关闭后报错的应用程序同时也就关闭了),重开应用程序。再打个log记录重启程序的时间,好看看这个报错的情况是什么样的。
运行情况:
差不多每天报错个一两次,那也少接好多电话啊...
领取专属 10元无门槛券
私享最新 技术干货