Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例

下面就来详细讲解如何实现Python3监控Windows和Linux系统的CPU、硬盘、内存使用率和各个端口的开启情况的完整攻略。

一、监控CPU、内存、硬盘

1. 安装psutil模块

psutil是一个跨平台的库,可以方便地实现对系统的各项性能指标的获取,如CPU、内存、硬盘等。在Python3中使用pip安装即可。

pip3 install psutil

2. 获取CPU、内存、硬盘使用率

下面的代码演示了如何获取CPU、内存、硬盘的使用率,其中CPU、内存使用率直接通过psutil库获取,硬盘使用率通过计算空闲空间与总空间的比值得到。

import psutil

# 获取CPU使用率
cpu_percent = psutil.cpu_percent(interval=1)

# 获取内存使用率
memory_percent = psutil.virtual_memory().percent

# 获取硬盘使用率
disk_percent = psutil.disk_usage('/').percent

3. 使用示例

为了方便测试,我们可以将上面的代码放入一个Python文件中,定时获取并打印出CPU、内存、硬盘使用率。

import psutil
import time

while True:
    # 获取CPU使用率
    cpu_percent = psutil.cpu_percent(interval=1)

    # 获取内存使用率
    memory_percent = psutil.virtual_memory().percent

    # 获取硬盘使用率
    disk_percent = psutil.disk_usage('/').percent

    # 输出结果
    print('CPU使用率:{}%,内存使用率:{}%,硬盘使用率:{}%'.format(cpu_percent, memory_percent, disk_percent))

    # 休眠5秒
    time.sleep(5)

运行上面的代码,我们就可以实时监控系统的CPU、内存、硬盘使用情况了。

二、监控端口开启情况

1. 安装socket模块

Python内置了socket模块,我们可以通过它来实现TCP和UDP端口的扫描,从而监控端口开启情况。

2. 扫描指定端口

下面的代码演示了如何扫描指定端口是否开启,其中我们通过socket的connect方法来检查端口是否允许连接。

import socket

def port_scan(host, port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.settimeout(3)
    try:
        s.connect((host, port))
        print('{}:{} is open.'.format(host, port))
        s.close()
        return True
    except Exception:
        print('{}:{} is closed.'.format(host, port))
        s.close()
        return False

3. 使用示例

为了方便测试,我们可以在代码中调用上面的port_scan方法,扫描本地的80、443端口。

port_scan('127.0.0.1', 80)
port_scan('127.0.0.1', 443)

运行上面的代码,我们就可以看到输出结果,显示了端口的开启情况。

总结

通过以上两个示例,我们可以实现对系统的CPU、内存、硬盘使用率和各个端口的开启情况进行实时监控。实际上,我们可以将以上代码整合到一个程序中,实现更为完善的系统监控功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • python操作 hbase 数据的方法

    本文将介绍如何使用 Python 操作 HBase 数据的方式。HBase 是基于 Hadoop 分布式文件系统 HDFS 的 NoSQL 数据库,支持海量数据存储和快速读写操作。 安装依赖 在使用 Python 操作 HBase 数据之前,需要先安装相应的依赖。这里我们使用 happybase 库来操作 HBase 数据。 pip install happ…

    python 2023年6月3日
    00
  • python调用c++ ctype list传数组或者返回数组的方法

    以下是“Python调用C++ ctypes传数组或者返回数组的方法”的完整攻略。 1. 传递数组 在Python中,可以使用ctypes库调用C++函数,并递数组作为参数。以下是一个简单例。 示例1:传递整型数组 设我们有一个名为my_array的整型数组,我们想要将其传递给C++。我们可以使用以下代码来实现。 import ctypes # 加载动态链接…

    python 2023年5月13日
    00
  • Python 处理数据的实例详解

    Python处理数据的实例详解 Python是一种流行的编程语言,广泛用于数据处理和分析。本文将介绍如何使用Python处理数据的实例详解,包括数据读取、数据清洗、分析和可视化等方面。 数据读取 在Python中,我们可以使用pandas库来读取各种格式的数据文件,如、Excel、JSON。以下是一个示例,演示如何使用pandas库读取CSV文件: impo…

    python 2023年5月13日
    00
  • Python如何使用ConfigParser读取配置文件

    下面是Python如何使用ConfigParser读取配置文件的完整攻略: 1. ConfigParser模块简介 ConfigParser是Python标准库中的一个用来读写配置文件的模块。它最初是Python 2.x版本的内置模块ConfigParser,后来扩展了一些新的功能,并在Python 3.x中被重构为configparser模块。 Confi…

    python 2023年6月3日
    00
  • 全国计算机等级考试二级Python语言程序设计考试大纲与知识点考点汇总

    好的!针对全国计算机等级考试二级Python语言程序设计考试,以下是一个完整的攻略: 一、了解考试大纲 全国计算机等级考试二级Python语言程序设计考试大纲主要包括四个部分:考试内容、考试形式、考试要求、考试命题。大纲中详细规定了需要掌握的知识点。 二、完善知识点掌握 根据考试大纲中的要求和知识点,需要认真学习和掌握相关内容,可以通过以下方式来完善知识点掌…

    python 2023年5月13日
    00
  • Python 保持登录状态进行接口测试的方法示例

    在进行接口测试时,有时需要保持登录状态,以便测试需要登录才能访问的接口。本文将详细讲解如何使用Python保持登录状态进行接口测试的方法示例,包括使用requests库和使用Session对象。 使用requests库 使用requests库可以方便地发送HTTP请求,并保持登录状态。以下是一个示例,演示如何使用requests库保持登录状态: import…

    python 2023年5月15日
    00
  • Python列表list数组array用法实例解析

    Python列表(list)/数组(array)用法实例解析 在Python中,列表(List)和数组(Array)都是常用的数据类型,它们都可以用于存储多个元素。本文将详细讲解Python中列表(List)和数组(Array)的使用方法,包括创建、访问、添加、删除等操作。 创建列表(List)/数组(Array) 创建列表(List)和数组(Array)的…

    python 2023年5月12日
    00
  • 利用Python实现学生信息管理系统的完整实例

    利用Python实现学生信息管理系统的完整实例攻略 1. 设计思路 学生信息管理系统需要进行以下操作:- 添加学生信息- 删除学生信息- 修改学生信息- 查询学生信息 基于以上需求,我们可以设计一个包含以下字典信息的学生信息记录数据结构: student = {‘name’: ‘xxx’, ‘age’: 20, ‘gender’: ‘male’, ‘id’:…

    python 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部