我就废话不多说了,直接上代码吧!importpsutilimportsubprocessimportosfromos.pathimportjoin,getsizeimportr
我就废话不多说了,直接上代码吧!
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);
以上这篇python psutil监控进程实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
python psutil 监控进程