当前位置: 首页 > 编程笔记 >

python psutil监控进程实例

呼延震博
2023-03-14
本文向大家介绍python psutil监控进程实例,包括了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监控进程实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 在spring-boot模块中,您可以找到两个类来创建通常对进程监视有用的文件: ApplicationPidFileWriter创建一个包含应用程序PID的文件(默认情况下,在应用程序目录中,文件名为application.pid)。 WebServerPortFileWriter创建一个或多个文件,其中包含正在运行的Web服务器的端口(默认情况下,在应用程序目录中,文件名为applicatio

  • 目录大小和进程详情的数据采集可用脚本falcon-scripts来做。 收集的指标如下: 指标名 注释 du.bytes.used 目录大小,单位byte proc.cpu 进程所占cpu,百分比 proc.mem 进程所占内存,单位byte proc.io.in 进程io输入,单位byte proc.io.out 进程io输出,单位byte 工作原理 du.sh脚本借助du命令采集数据 proc

  • 前面介绍了 toolbox 模块,beego 默认是关闭的,在进程开启的时候监控端口,但是默认是监听在 127.0.0.1:8088,这样无法通过外网访问。当然你可以通过各种方法访问,例如 nginx 代理。 为了安全,建议用户在防火墙中把 8088 端口给屏蔽了。你可以在 conf/app.conf 中打开它 默认监控是关闭的,你可以通过设置参数配置开启监控: EnableAdmin = tru

  • 我们说falcon-agent是无需配置即可自动化采集200多项监控指标数据,比如cpu相关的、内存相关的、磁盘io相关的、网卡相关的等等,都可以自动发现,自动采集。 端口监控 falcon-agent编写初期是把本机监听的所有端口上报给server端,比如机器监听了80、443、22三个端口,就会自动上报三条数据: net.port.listen/port=22 net.port.listen/

  • 本文向大家介绍C#进程监控方法实例分析,包括了C#进程监控方法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#进程监控方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 目录大小和进程详情的数据采集可用脚本falcon-scripts来做。 收集的指标如下: 指标名 注释 du.bytes.used 目录大小,单位byte proc.cpu 进程所占cpu,百分比 proc.mem 进程所占内存,单位byte proc.io.in 进程io输入,单位byte proc.io.out 进程io输出,单位byte 工作原理 du.sh脚本借助du命令采集数据 proc