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实现飞机大战小游戏

python实现飞机大战小游戏

本文实例为大家分享了python实现飞机大战的具体代码,供大家参考,具体内容如下 初学Python,写了一个简单的Python小游戏。 师出bilibili某前辈 pycharm自带了第...

python利用正则表达式搜索单词示例代码

前言 在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。 比如下面的例子,就是用来从一段文字...

python 实现倒排索引的方法

代码如下: #encoding:utf-8 fin = open('1.txt', 'r') ''' 建立正向索引: “文档1”的ID > 单词1:出现位置列表;单词2:...

Django实现web端tailf日志文件功能及实例详解

Django实现web端tailf日志文件功能及实例详解

这是Django Channels系列文章的第二篇,以web端实现tailf的案例讲解Channels的具体使用以及跟Celery的结合 通过上一篇 《Django使用Channels实...

django fernet fields字段加密实践详解

一、fernet介绍 Fernet 用于django模型字段对称加密,使用 crytography 库。 官网帮助文档 1、先决条件 django-fernet-fields 支持D...