总有一些程序在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定时检测无响应进程并重启的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!