您的位置:首页 > 编程语言 > Python开发

python psutil监控进程

2016-04-01 10:52 639 查看
<pre style="font-family: 宋体; font-size: 9pt; background-color: rgb(255, 255, 255);"><pre name="code" class="python">import psutil
import subprocess
import os
from os.path import join,getsize
import re
import time
from subprocess import PIPE

counter=0
filesize_last=0
def restart_process():
haspro = 0
all_process_name = psutil.pids();
for pid in all_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("NOT EQUAL!")
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()
#while returncode is None:
#        line = p.stdout.readline()
#        returncode = p.poll()
#        line = line.strip()
#       print ('line : ',line);
#        print ('returncode : ',returncode);
#        if(line == b'Could not create log file: No such file or directory'):
#                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);
#for pid in all_process_name:
#        pro = psutil.Process(pid);
#if(counter == 0):
#print ('There are %.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);




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: