python定时检测无响应进程并重启的实例代码

  

总有一些程序在windows平台表现不稳定、动不动一段时间就无响应,但又不得不用,每次都是发现问题了手动重启,现在写个脚本定时检测进程是否正常,自动重启。

  

  
      <李>时间表定时任务调度   <李> os.popen运行程序并读取解析运行结果李   
  

  

<强>脚本主入口

        if __name__==癬_main__”:   #每5秒执行检查任务   schedule.every (5) .seconds.do (check_job)   #此处固定写法,意思是每秒钟时间看下是否有未决的任务,有就执行   而真正的:   schedule.run_pending ()   time . sleep (1)      

<强>安排的其它示例

        进口计划   导入的时间   def工作(消息='东西'):   打印(“我工作>   def check_job ():   process_name=" xx.exe "   not_respond_list=list_not_response (process_name)   如果len (not_respond_list) & lt;=0:   返回   pid_params=" "。加入([/PID + PID的PID not_respond_list])   操作系统。popen (“taskkill/F + pid_params)   如果len (list_process (process_name)) & lt;=0:   start_program (r说:\ xx \ xx.exe”)   }      

        def list_process (process_name not_respond=False):   cmd=' tasklist/FI“IMAGENAME eq % s”   如果not_respond:   cmd=cmd + '/FI“状态情商没有响应”   输出=操作系统。popen (cmd % process_name)   返回parse_output (output.read ())   def list_not_response (process_name):   返回list_process (process_name,真)      

        def parse_output(输出):   打印(输出)   pid_list=[]   行=output.strip () .split (“\ n”)   如果len(线)的在2:   线的线[2]:   pid_list.append (line.split () [1])   返回pid_list      

        映像名称PID会话名会话#内存使用========================================================================WizChromeProcess。exe 1620控制台1 32572 K      

        进口操作系统   导入的时间   进口计划   def parse_output(输出):   打印(输出)   pid_list=[]   行=output.strip () .split (“\ n”)   如果len(线)的在2:   线的线[2]:   pid_list.append (line.split () [1])   返回pid_list   def list_not_response (process_name):   返回list_process (process_name,真的)   def list_process (process_name not_respond=False):   cmd=' tasklist/FI“IMAGENAME eq % s”   如果not_respond:   cmd=cmd + '/FI“状态情商没有响应”   输出=操作系统。popen (cmd % process_name)   返回parse_output (output.read ())   def start_program(计划):   os.popen(程序)   def check_job ():   process_name=" xx.exe "   not_respond_list=list_not_response (process_name)   如果len (not_respond_list) & lt;=0:   返回   pid_params=" "。加入([/PID + PID的PID not_respond_list])   操作系统。popen (“taskkill/F + pid_params)   如果len (list_process (process_name)) & lt;=0:   xxx start_program (r说:\ \ xx.exe”)   if __name__==癬_main__”:   schedule.every (5) .seconds.do (check_job)   而真正的:   schedule.run_pending ()   time . sleep (1)      

  

以上所述是小编给大家介绍的python定时检测无响应进程并重启的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
  如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

python定时检测无响应进程并重启的实例代码