博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于socket的serve端监控项目
阅读量:6079 次
发布时间:2019-06-20

本文共 3988 字,大约阅读时间需要 13 分钟。

  hot3.png

#coding:utf-8

import psutil
import time
import socket
import os,sys
print "===========  系统当前用户:%s        ==============="%psutil.users()[0].name
print "===========  系统当前时间:%s  ==============="%time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
print
def mem():
    mem=psutil.virtual_memory()
    mem_list=[mem.total,mem.used,mem.free,mem.percent]
    return(mem_list)
   
def disk():
    disk_list=[psutil.disk_usage('/').total,psutil.disk_usage('/').used,psutil.disk_usage('/').free,psutil.disk_usage('/').percent]
    return disk_list
def net():
    net_list=[psutil.net_io_counters().bytes_sent, psutil.net_io_counters().bytes_recv, psutil.net_io_counters().packets_sent, psutil.net_io_counters().packets_recv]
    return net_list
def cpu():
    return ('cpu'+str(psutil.cpu_percent())+"%")
cpulist=cpu()
netlist=net()
memlist=mem()
disklist=disk()
print cpulist
print netlist
print memlist
print disklist

myfile = open(r'C:\Users\Administrator\Desktop\1.txt','w+')

myfile.write("系统当前用户:%s\n"%psutil.users()[0].name)
myfile.write("系统当前时间:%s\n"%time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())))
myfile.write("---------------------\n")
myfile.write("cpu使用率%s\n"%cpulist)
myfile.write("---------------------\n")
myfile.write("网络发送字节数:%sM\n"%(netlist[0]//1000000))
myfile.write("网络接收字节数:%sM\n"%(netlist[1]//1000000))
myfile.write("网络发送数据包:%sM\n"%(netlist[2]//1000000))
myfile.write("网络接收数据包:%sM\n"%(netlist[3]//1000000))
myfile.write("---------------------\n")
myfile.write("内存总数 :%sM\n"%(memlist[0]//1000000))
myfile.write("内存使用 :%sM\n"%(memlist[1]//1000000))
myfile.write("内存空闲 :%sM\n"%(memlist[2]//1000000))
myfile.write("内存使用率:%s\n"%(memlist[3]))
myfile.write("---------------------\n")
myfile.write("硬盘总数 :%sM\n"%(disklist[0]//1000000))
myfile.write("硬盘使用:%sM\n"%(disklist[1]//1000000))
myfile.write("硬盘空闲:%sM\n"%(disklist[2]//1000000))
myfile.write("硬盘使用率:%s\n"%(disklist[3]))
myfile.close()
f = open(r'C:\Users\Administrator\Desktop\1.txt','rb')
result= f.read()

def reader(path):

        con=os.popen('cat %s'%path)
        content=con.read()
        con.close()
        return content

sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

sock.connect(('192.168.0.6',8001))
while True:
    #kk=raw_input("peease input>>>>>")
    #sock.send(kk.encode('gbk'))
    
    canshu=sock.recv(2048)
#     result=reader(canshu)
    print(canshu)
    print(f)
    sock.send(result)   
    f.close()
    print("success")
sock.close()

 

------------------服务器端接收的结果:如下-----------------------------------

系统当前用户:Administrator

系统当前时间:2016-10-29 15:59:07
---------------------
cpu使用率cpu0.0%
---------------------
网络发送字节数:1389M
网络接收字节数:17301M
网络发送数据包:10M
网络接收数据包:0M
---------------------
内存总数 :12738M
内存使用 :5531M
内存空闲 :7206M
内存使用率:43.4
---------------------
硬盘总数 :107375M
硬盘使用:82750M
硬盘空闲:24625M
硬盘使用率:77.1

 

=================================用的的模块和函数==========================

https://pypi.python.org/pypi/psutil
#获取要监控的计算机的信息
   os.system   os.popen   /proc/file   字符串处理 \n   编码
#CPU
      #user time      #system  time      #wait IO 空闲时间      #idle百分比
      import psutil      psutil.cpu_times()              #所有核
      psutil.cpu_times(percpu=True)          #单核
      psutil.cpu_count()              #逻辑核数
      psutil.cpu_count(logical=False) #物理核数

#内存

    psutil.virtual_memory().total    psutil.virtual_memory().free    psutil.virtual_memory().available
    psutil.virtual_memory().cached    psutil.virtual_memory().used    psutil.virtual_memory().buffers
    psutil.virtual_memory().percent    psutil.swap_memory().total    psutil.swap_memory().used
    psutil.swap_memory().free    psutil.swap_memory().percent

  #磁盘

    psutil.disk_usage('/')    psutil.disk_io_counters()    psutil.disk_io_counters(perdisk=True)

  #进程

    psutil.pids()  #所有进程的pid    psutil.Process()  #进程对象
    psutil.Process(30708).name()  #进程名    psutil.Process(30708).exe()   #进程bin文件
    psutil.Process(30708).cwd()  #工作目录的绝对路径    psutil.Process(30708).status()  #进程状态
    psutil.Process(30708).create_time() #进程创建的时间戳 time.ctime(1476181891.27)
    psutil.Process(11092).uids() #进程所有者的用户id    psutil.Process(11092).gids() #进程所有者的组id
    psutil.Process(18202).cpu_times() #进程的CPU时间    psutil.Process(18202).memory_info() #
    psutil.Process(18202).io_counters() #进程的IO

 

 

转载于:https://my.oschina.net/enet01/blog/783868

你可能感兴趣的文章
自定义表单中计算控件的插件代码
查看>>
Java中的代理的使用
查看>>
springboot 下载文件
查看>>
使用C#创建SQL Server的存储过程
查看>>
一个鸡蛋的启示(传疯了)
查看>>
FreeMarker的优点和缺点
查看>>
ubuntu 安装tengine
查看>>
Java类到对象的创建过程
查看>>
eclipse下安装js插件-spket(支持Ext) 能格式化Js(JQuery自动提示)
查看>>
Scala之类、特质和抽象类
查看>>
/var/log目录下的20个Linux日志文件功能详解
查看>>
ThinkPad紧凑型蓝牙键盘(0B47189)鼠标滚轮用法,F1到F12功能键的功能切换以及其他技巧...
查看>>
linux tomcat 个人记录
查看>>
8天学习MongoDB——第四天 索引操作
查看>>
数据库设计原则
查看>>
MyEclipse 不能将WAR包导出的解决方法
查看>>
编程实现对电路的分析
查看>>
微信小程序从注册到上线系列
查看>>
Android屏幕适配
查看>>
典型程序实现代码汇总(1)
查看>>