python psutil监控进程实例
我就废话不多说了,直接上代码吧!
importpsutil importsubprocess importos fromos.pathimportjoin,getsize importre importtime fromsubprocessimportPIPE counter=0 filesize_last=0 defrestart_process(): haspro=0 all_process_name=psutil.pids(); forpidinall_process_name: pro=psutil.Process(pid) print("process_name:",pro.name()); if(): pass if(pro.name()=="test_tdb.exe"): haspro=haspro+1 pro.kill() os.popen("E:/data/tdb/code/test_tdb.exe") break if(haspro==0): os.popen("E:/data/tdb/code/test_tdb.exe") #time.sleep(5) while(counter>=0): filesize=getsize(r"e:\log.csv") if(counter>0): if(filesize==filesize_last): print("EQUAL!") restart_process() counter=0 if(filesize!=filesize_last): print("NOTEQUAL!") counter=0 pass if(counter==0): filesize_last=filesize counter=counter+1 time.sleep(300) #p=subprocess.Popen('D:/project/server/bin/Debug/test_tdb.exe',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT); #returncode=p.poll() #whilereturncodeisNone: #line=p.stdout.readline() #returncode=p.poll() #line=line.strip() #print('line:',line); #print('returncode:',returncode); #if(line==b'Couldnotcreatelogfile:Nosuchfileordirectory'): #pass #os.popen("D:/project/server/bin/Debug/test_tdb.exe",'r',-1) #os.system('D:/project/server/bin/Debug/test_tdb.exe') #p1=psutil.Popen(["D:/project/server/bin/Debug/test_tdb.exe"],stdout=PIPE) #process_list=psutil.get_process_list() #print("process_list:",process_list); #all_process_name=psutil.pids(); #print("all_process_name=",all_process_name); #forpidinall_process_name: #pro=psutil.Process(pid); #if(counter==0): #print('Thereare%.2f'%(filesize/1024),'Kb') # #if(pro.name()=="test_tdb.exe"): #counter=counter+1 #pro.kill(); #os.popen("D:/project/server/bin/Debug/test_tdb.exe") #time.sleep(5);
以上这篇pythonpsutil监控进程实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。