我就废话不多说了,直接上代码吧!
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