[Python Study Notes]CS架构远程访问获取信息--SERVER端
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>>文件: 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端的更多相关文章
- [Python Study Notes]CS架构远程访问获取信息--SERVER端v2.0
更新内容: 1.增加内存信息获取 2.增加电池信息获取 3.增加磁盘信息获取 4.重新布局窗体 5.增加窗体名称 6.增加连接成功之前,不可按压 ''''''''''''''''''''''''''' ...
- [Python Study Notes]CS架构远程访问获取信息--Client端v2.0
更新内容: 1.增加内存信息获取 2.增加电池信息获取 3.增加磁盘信息获取 4.重新布局窗体 5.增加窗体名称 6.增加连接成功之前,不可按压 效果图: '''''''''''''''''''''' ...
- [Python Study Notes]CS架构远程访问获取信息--Client端v1.0
更新内容: 1.添加entry栏默认ip和port口 2.修正退出功能 3.添加退出自动关闭窗口功能 4.优化cpu显示为固定保留两位小数 '''''''''''''''''''''''''''''' ...
- [Python Study Notes]CS架构远程访问获取信息--Client端
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- Eureka系列(四) 获取服务Server端具体实现
获取服务 Server端流程 我们先看下面这张图片,这张图片简单描述了下我们EurekaClient在调用EurekaServer 提供的获取服务Http接口,Server端实现接口执行的大致流程 ...
- [Python Study Notes]进程信息(丁丁软件监控进程,http-post)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]cpu信息
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]电池信息
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]内存信息
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
随机推荐
- 使用django建博客时遇到的URLcon相关错误以及解决方法。错误提示:类型错误:include0获得一个意外的关键参数app_name
root@nanlyvm:/home/mydj/mysite# python manage.py runserver Performing system checks... Unhandled exc ...
- Spark学习笔记3(IDEA编写scala代码并打包上传集群运行)
Spark学习笔记3 IDEA编写scala代码并打包上传集群运行 我们在IDEA上的maven项目已经搭建完成了,现在可以写一个简单的spark代码并且打成jar包 上传至集群,来检验一下我们的sp ...
- 实例说明optimize table在优化MySQL时很重要
今天在看CU的时候,发现有人问有关optimize来表优化的问题,当年因为这个问题,困扰我很长一段时间,今天有空我把这个问题,用实际数据来展示出来,让大家可以亲眼来看看,optimize table的 ...
- 【开发技术】Get请求和Post请求区别
a.Get请求是通过URL请求来提交表单数据的:Post是通过HTTP中的POST机制将表单中的数据提交到Action所定制的程序,如果有附件需要用Post方式. b.Get适用于传输数据量小于1K数 ...
- Python系列之入门篇——MYSQL
Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...
- Freemarker 入门示例
初步学习freemarker ,先做一个简单的HelloWord程序! 新建一个WEB工程,下载(我使用的是freemarker-2.3.20)freemarker并导入freemarker.jar, ...
- MySQL大表优化方案
转:https://segmentfault.com/a/1190000006158186?hmsr=toutiao.io&utm_medium=toutiao.io&utm_sour ...
- python_tornado_session用户验证
什么是session? -- Django中带有session,tornado中自己写 -- 逻辑整理 用户请求过来,验证通过,随机生成一个字符串当作value返回给浏览器, 在服务器中用户信息与随机 ...
- python_如何创建可管理的对象属性
案例: 在面向对象编程中,我们把方法作为对象的接口,自己访问对象的属性可能是不安全的,或设计上不灵活,但是使用调用方法在形式上不如访问属性简洁 繁: circle.getRadius() circle ...
- 无废话XML--XML解析(DOM和SAX)
XML处理模式 处理XML有2种方式,DOM和SAX.一般的实际开发中,这2种使用的不多,直接用dom4j来解析XML就好了,包括CRUD等操作都很方便的.这里介绍的DOM和SAX是比较底层的,具体的 ...