python psutil监控进程实例

yipeiwu_com7年前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);

以上这篇python psutil监控进程实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 删除整个文本中的空格,并实现按行显示

希望以后每天写一篇博客,总结一下每天用到的基本功能,不然项目做完也就做完了,给自己留下的资料太少了。 今天需要造大量的姓名和家庭住址的数据,因此根据读取文件中现有的lastname、fi...

python3连接kafka模块pykafka生产者简单封装代码

1.1安装模块 pip install pykafka 1.2基本使用 # -* coding:utf8 *- from pykafka import KafkaClient...

python使用循环实现批量创建文件夹示例

代码很简单,其中用到了python的sys模块,大家参考使用吧复制代码 代码如下:import os,sysbase = 'C:/'i = 1for j in range(100):&n...

python3实现zabbix告警推送钉钉的示例

python3实现zabbix告警推送钉钉的示例

自己写了一个简单的python脚本,用来推送zabbix告警到钉钉机器人,推送格式为markdown,有需要的可以自己修改markdown的格式及推送的值(zabbix宏) 环境如下,...

利用一个简单的例子窥探CPython内核的运行机制

我最近花了一些时间在探索CPython,并且我想要在这里分享我的一些冒险经历。Allison Kaptur的excellent guide to getting started with...