当前位置 主页 > 网站技术 > 代码类 >

    python psutil监控进程实例

    栏目:代码类 时间:2019-12-17 18:06

    我就废话不多说了,直接上代码吧!

    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监控进程实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。