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日

相关文章

  • pandas预处理部分地区数据案例

    pandas预处理部分地区数据案例的完整攻略 pandas是Python中一个非常强大的数据处理库,它可以帮助我们对数据进行清洗、转换、分析等操作。在本文中,我们将介绍如何pandas对部分地区的数据进行预处理,包括数据清洗、数据转换、数据分析等操作。 第一步:导入数据 首先,我们需要导入数据。在本文中,我们将使用一个包含部分地区数据的CSV文件。我们可以使…

    python 2023年5月14日
    00
  • 手把手教你python实现SVM算法

    手把手教你Python实现SVM算法 支持向量机(Support Vector Machine,SVM)是一种经典的分类算法,它通过寻找最优超平面来实现分类。在本攻略中,我们将介绍如使用Python实现SVM算法,并提供两个示例来说明如何使用SVM算法进行分类。 步骤1:了解SVM算法 在SVM算法中,我们需要考虑以下因素: 超平面:SVM通过寻找最优超平面…

    python 2023年5月14日
    00
  • 一文详解Python中哈希表的使用

    一文详解Python中哈希表的使用 什么是哈希表 哈希表也称为散列表,是一种用于存储键值对的数据结构。在哈希表中,每个键都与一个特定的值相关联。哈希表使用哈希函数将键映射到存储桶中,以便快速访问键对应的值。 Python中的哈希表实现在内部使用了散列表。Python的“字典”数据类型就是基于哈希表实现的,也称为dict。字典的键必须是不可变类型,例如数字、字…

    python 2023年5月14日
    00
  • python中实现字符串翻转的方法

    Python中实现字符串翻转的方法 在Python中,要实现字符串的翻转有多种方法,下面将详细介绍这些方法。 1. 用切片实现字符串翻转 Python中的字符串也是序列,我们可以用序列切片的方式将字符串翻转。使用切片操作,步长为-1,即从字符串的最后一个字符开始翻转。 def reverse_string1(s): return s[::-1] string…

    python 2023年6月5日
    00
  • Python 键值分组或分区数据

    下面我将为您讲解Python 中键值分组或分区数据的使用方法,主要是利用字典和collections模块来实现。 字典实现键值分组 在 Python 中,字典可以实现键值分组。字典是一种可变容器模型,它可以存储任意类型的对象,如数字、字符串、列表、元组等。字典中的每个键都是唯一的,而值可以重复。 下面是具体的代码示例: # 定义一个包含若干组数据的列表 da…

    python-answer 2023年3月25日
    00
  • Python 3.6 读取并操作文件内容的实例

    首先要说明的是,Python 3.6提供了多种方式读取并操作文件内容,最常见的方法包括: 使用Python内置的open函数打开文件,并通过read、readline、readlines等方法读取文件内容。 使用with语句打开文件,自动关闭文件,更加简便。 接下来,我们通过两个实例来详细讲解如何读取并操作文件内容。 实例1:读取文件并逐行打印内容 首先,我…

    python 2023年6月5日
    00
  • Python操作Excel的学习笔记

    下面我来详细讲解一下“Python操作Excel的学习笔记”的完整实例教程。 Python操作Excel的学习笔记 介绍 本教程将介绍如何使用Python来操作Excel文件。我们将使用xlrd、xlwt和openpyxl这三个库来读取、写入和编辑Excel文件。 安装 在开始操作Excel之前,我们需要安装xlrd、xlwt和openpyxl这三个库。在安…

    python 2023年5月13日
    00
  • 使用python求解迷宫问题的三种实现方法

    使用Python求解迷宫问题的三种实现方法 迷宫问题是一个经典的寻路问题,目标是从起点到达终点,避免碰到障碍物。在这个攻略中,我们将介绍三种使用Python求解迷宫问题的实现方法:深度优先搜索、广度优先搜索和A*搜索。我们将提供两个示例说明如何使用这些算法来解决迷宫问题。 深度优先搜索 深度优先搜索是一种基于栈的搜索算法,它从起点开始,沿着一条路径一直走到底…

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