python psutil监控进程实例

 更新时间:2019年12月17日 14:54:20   作者:qq_3158353  
今天小编就为大家分享一篇python psutil监控进程实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

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中,一般情况下我们可能直接用自带的logging模块来记录日志,但logging用起来其实并不是那么好用,其实主要还是配置较为繁琐。本文为大家介绍了Python中更优雅的日志记录方案,需要的可以参考一下
    2022-06-06
  • Python的Tornado框架异步编程入门实例

    Python的Tornado框架异步编程入门实例

    这篇文章主要介绍了Python的Tornado框架异步编程入门实例,异步编程的思维与普通编程比起来有些不同,需要的朋友可以参考下
    2015-04-04
  • Python 私有函数的实例详解

    Python 私有函数的实例详解

    这篇文章主要介绍了Python 私有函数的实例详解的相关资料,希望通过本文大家能掌握Python 私有函数的使用方法,需要的朋友可以参考下
    2017-09-09
  • pytorch中的model.eval()和BN层的使用

    pytorch中的model.eval()和BN层的使用

    这篇文章主要介绍了pytorch中的model.eval()和BN层的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python pip 安装与使用(安装、更新、删除)

    Python pip 安装与使用(安装、更新、删除)

    pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能,需要的朋友可以参考下
    2019-10-10
  • python数组复制拷贝的实现方法

    python数组复制拷贝的实现方法

    这篇文章主要介绍了python数组复制拷贝的实现方法,实例分析了Python数组传地址与传值两种复制拷贝的使用技巧,需要的朋友可以参考下
    2015-06-06
  • pytest解读fixtures之Teardown处理yield和addfinalizer方案

    pytest解读fixtures之Teardown处理yield和addfinalizer方案

    这篇文章主要为大家介绍了pytest解读fixtures之Teardown处理yield和addfinalizer的方案实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python如何运用pyaudio库去做一个固定采样率音频录制器

    Python如何运用pyaudio库去做一个固定采样率音频录制器

    这篇文章主要介绍了Python如何运用pyaudio库去做一个固定采样率音频录制器问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • python挖矿算力测试程序详解

    python挖矿算力测试程序详解

    这篇文章主要介绍了python挖矿算力测试程序详解的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python使用标准库根据进程名如何获取进程的pid详解

    python使用标准库根据进程名如何获取进程的pid详解

    Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的,所以下面这篇文章主要给大家介绍了关于python使用标准库根据进程名如何获取进程pid的相关资料,需要的朋友可以参考下。
    2017-10-10

最新评论