学习
实践
活动
工具
TVP
写文章

自动重启服务

自动重启服务

情况是这样,有台前置机给自助机提供服务,时不时程序会报错卡死。然后前台的人就会打电话过来通知说“卡死了,你们看一下吧”,这边就登服务器去关掉报错窗口。次数多了就会不胜其烦。稍微搞一下自动化吧。

观察一下报错窗口,程序名是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记录重启程序的时间,好看看这个报错的情况是什么样的。

运行情况:

差不多每天报错个一两次,那也少接好多电话啊...

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180702G1RX3600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

同媒体快讯

扫码关注腾讯云开发者

领取腾讯云代金券