'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>>文件: ps_server.py
>>作者: liu yang
>>邮箱: liuyang0001@outlook.com

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys, os
from socket import *
import  psutil
from time import sleep
# from cpu信息 import cpu_message
# from 内存信息 import memory_message
# from 电池信息 import battery_message
# from 磁盘信息 import disk_partitions
# from cpu使用率 import cpu_utilization

def cpu_utilization():

    cpu_start_alltime=psutil.cpu_times()
    '''print(cpu_start_alltime)得到的内容:scputimes(user=14088.359375, system=20540.59375,
                            idle=362071.6875, interrupt=847.9375019073486, dpc=3795.6875)'''
    t1all=sum(cpu_start_alltime)#开始的cpu时间总和

    sleep(1)#休眠一秒

    cpu_end_alltime=psutil.cpu_times()
    t2all=sum(cpu_end_alltime)#结束时的cpu时间总和

    t1busy=t1all-cpu_start_alltime.idle#开始的忙碌时间=总时间-空闲时间
    t2busy=t2all-cpu_end_alltime.idle

    '''cpu使用率:(结束的忙碌时间-开始的忙碌时间)/(结束的总时间-开始的总时间)'''
    cpu_busy=(t2busy-t1busy)/(t2all-t1all)*100
    # print("cpu使用率:%0.2f"%cpu_busy+'%')
    return  cpu_busy

# 创建服务端 TCP/IP IPv4
server=socket(AF_INET,SOCK_STREAM)
server.bind(('localhost',66))
server.listen(5)
print("等待客户端进行连接...")

while True:
    # 等待连接阻塞
    conn,addr=server.accept()
    # 元祖取值需要用方括号!!!
    print("%s已连接..."%addr[0])
    while True:
        data = conn.recv(1024).decode('utf-8')
        if data == 'cpu':
            buf=str(cpu_utilization()).encode('utf-8')
            print(buf)
            conn.send(buf)
        if not data:
            print("客户按可能已断开连接...")
            break
            conn.close()

[Python Study Notes]CS架构远程访问获取信息--SERVER端的更多相关文章

  1. [Python Study Notes]CS架构远程访问获取信息--SERVER端v2.0

    更新内容: 1.增加内存信息获取 2.增加电池信息获取 3.增加磁盘信息获取 4.重新布局窗体 5.增加窗体名称 6.增加连接成功之前,不可按压 ''''''''''''''''''''''''''' ...

  2. [Python Study Notes]CS架构远程访问获取信息--Client端v2.0

    更新内容: 1.增加内存信息获取 2.增加电池信息获取 3.增加磁盘信息获取 4.重新布局窗体 5.增加窗体名称 6.增加连接成功之前,不可按压 效果图: '''''''''''''''''''''' ...

  3. [Python Study Notes]CS架构远程访问获取信息--Client端v1.0

    更新内容: 1.添加entry栏默认ip和port口 2.修正退出功能 3.添加退出自动关闭窗口功能 4.优化cpu显示为固定保留两位小数 '''''''''''''''''''''''''''''' ...

  4. [Python Study Notes]CS架构远程访问获取信息--Client端

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  5. Eureka系列(四) 获取服务Server端具体实现

    获取服务 Server端流程   我们先看下面这张图片,这张图片简单描述了下我们EurekaClient在调用EurekaServer 提供的获取服务Http接口,Server端实现接口执行的大致流程 ...

  6. [Python Study Notes]进程信息(丁丁软件监控进程,http-post)

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  7. [Python Study Notes]cpu信息

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  8. [Python Study Notes]电池信息

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

  9. [Python Study Notes]内存信息

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...

随机推荐

  1. Spark算子--filter

    filter--Transformation类算子 代码示例 result    

  2. dedecms幻灯片调用图片模糊的解决办法

    dedecms幻灯片调用的是缩略图,如果图片尺寸比例和幻灯片的大小相差太大的话,图片就会自动拉伸模糊,比较影响美观和用户体验,下面就有常用的2个方法来解决这个图片模糊的问题. 第一种:手动制图 我们用 ...

  3. 机器学习——kNN(2)示例:改进约会网站的配对效果

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  4. 月薪20k以上的高级程序员需要学习哪些技术呢?

    课程内容: 源码分析.分布式架构.微服务架构.性能优化.团队协作效率.双十一项目实战 适用对象: 1-5年或更长软件开发经验,没有工作经验但基础非常扎实,对java工作机制,常用设计思想,常用java ...

  5. vi命令加行号查找替换等命令

    一.加行号           : set nu二.vi查找:    当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,              ...

  6. IOS UI 滚动视图 UIScrollView

    UIScrollView 常用属性 scrollView.maximumZoomScale= 2.0; //  缩放最大比例 scrollView.minimumZoomScale = 0.2;// ...

  7. href

    <a href="#"></a>点击浏览器会跳转地址栏加了#:<a href=""></a>点击会打开当前网页所 ...

  8. linkin大话面向对象--多态

    java引用变量有2个类型,一个是编译时类型,一个是运行时类型: 编译时类型:声明的类型,把它看做是什么东西 运行时类型:真正的类型,实际上指的是什么东西 如果编译时类型和运行时类型不同,就出现多态. ...

  9. 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名。

    /** * 创建md5摘要,规则是:按参数名称a-z排序,遇到空值的参数不参加签名. */ private function createSign($parameters,$key) { $signP ...

  10. jsp中 scope="application" 表示

    jsp中 <jsp:useBean id="countbean" scope="application" class="count.counte ...