最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python利用psutil庫(kù)進(jìn)行監(jiān)控進(jìn)程和資源

 更新時(shí)間:2024年01月31日 08:47:14   作者:Sitin濤哥  
psutil是Python系統(tǒng)和進(jìn)程工具庫(kù),它提供了一種跨平臺(tái)的方式來(lái)獲取系統(tǒng)信息、管理系統(tǒng)進(jìn)程、監(jiān)控系統(tǒng)性能、操作系統(tǒng)資源等,下面就跟隨小編一起來(lái)學(xué)習(xí)psutil庫(kù)的具體應(yīng)用吧

Python作為一門強(qiáng)大的編程語(yǔ)言,擁有豐富的標(biāo)準(zhǔn)庫(kù)和第三方庫(kù),使得開發(fā)者可以輕松完成各種任務(wù)。在系統(tǒng)監(jiān)控和管理方面,psutil庫(kù)無(wú)疑是一個(gè)強(qiáng)大的工具,它可以輕松地獲取系統(tǒng)信息、管理進(jìn)程、監(jiān)控系統(tǒng)性能等。本文將深入探討psutil庫(kù),介紹它的基本概念、用法和示例代碼,幫助大家更好地理解和利用這個(gè)強(qiáng)大的庫(kù)。

什么是psutil庫(kù)

psutil是Python系統(tǒng)和進(jìn)程工具庫(kù)(Python System and Process Utilities)。它提供了一種跨平臺(tái)的方式來(lái)獲取系統(tǒng)信息、管理系統(tǒng)進(jìn)程、監(jiān)控系統(tǒng)性能、操作系統(tǒng)資源等。無(wú)論是在Windows、Linux還是macOS,psutil都能提供一致的API,使得開發(fā)者可以輕松地編寫跨平臺(tái)的代碼。

安裝psutil庫(kù)

要開始使用psutil庫(kù),首先需要安裝它。

可以使用pip來(lái)進(jìn)行安裝:

pip install psutil

安裝完成后,就可以導(dǎo)入并開始使用psutil庫(kù)了。

import psutil

獲取系統(tǒng)信息

獲取CPU信息

import psutil

# 獲取CPU核心數(shù)
cpu_count = psutil.cpu_count(logical=False)
print(f"Physical CPU Count: {cpu_count}")

# 獲取邏輯CPU核心數(shù)(包括超線程)
logical_cpu_count = psutil.cpu_count(logical=True)
print(f"Logical CPU Count: {logical_cpu_count}")

# 獲取CPU使用率
cpu_usage = psutil.cpu_percent(interval=1, percpu=True)
for i, usage in enumerate(cpu_usage, 1):
    print(f"CPU {i} Usage: {usage}%")

獲取內(nèi)存信息

import psutil

# 獲取內(nèi)存總量
total_memory = psutil.virtual_memory().total
print(f"Total Memory: {total_memory / (1024 ** 3):.2f} GB")

# 獲取可用內(nèi)存
available_memory = psutil.virtual_memory().available
print(f"Available Memory: {available_memory / (1024 ** 3):.2f} GB")

# 獲取內(nèi)存使用率
memory_usage = psutil.virtual_memory().percent
print(f"Memory Usage: 1.15MB%")

獲取磁盤信息

import psutil

# 獲取所有磁盤分區(qū)信息
disk_partitions = psutil.disk_partitions()
for partition in disk_partitions:
    print(f"Device: {partition.device}")
    print(f"Mountpoint: {partition.mountpoint}")
    print(f"Fstype: {partition.fstype}")
    print("")

# 獲取指定分區(qū)的使用情況
disk_usage = psutil.disk_usage("/")
print(f"Total: {disk_usage.total / (1024 ** 3):.2f} GB")
print(f"Used: {disk_usage.used / (1024 ** 3):.2f} GB")
print(f"Free: {disk_usage.free / (1024 ** 3):.2f} GB")
print(f"Usage: {disk_usage.percent}%")

獲取網(wǎng)絡(luò)信息

import psutil

# 獲取網(wǎng)絡(luò)接口列表
network_interfaces = psutil.net_if_addrs()
for interface, addresses in network_interfaces.items():
    print(f"Interface: {interface}")
    for address in addresses:
        print(f"  Family: {address.family}")
        print(f"  Address: {address.address}")
        print(f"  Netmask: {address.netmask}")
        print(f"  Broadcast: {address.broadcast}")
    print("")

管理進(jìn)程

查詢進(jìn)程信息

import psutil

# 獲取所有進(jìn)程列表
all_processes = psutil.process_iter(attrs=['pid', 'name'])
for process in all_processes:
    print(f"Process ID: {process.info['pid']}, Name: {process.info['name']}")

# 根據(jù)進(jìn)程名稱查詢進(jìn)程
process_name = "python3"
process_list = [p.info for p in all_processes if p.info['name'] == process_name]
for process in process_list:
    print(f"Process ID: {process['pid']}, Name: {process['name']}")

創(chuàng)建新進(jìn)程

import psutil
import subprocess

# 創(chuàng)建新進(jìn)程
subprocess.Popen(["notepad.exe"])

# 檢查進(jìn)程是否存在
process_name = "notepad.exe"
is_running = any(process.info['name'] == process_name for process in psutil.process_iter(attrs=['name']))
print(f"{process_name} is running: {is_running}")

終止進(jìn)程

import psutil

# 根據(jù)進(jìn)程名稱終止進(jìn)程
process_name = "notepad.exe"
for process in psutil.process_iter(attrs=['name']):
    if process.info['name'] == process_name:
        process.terminate()
        print(f"Terminated {process_name}")

監(jiān)控系統(tǒng)性能

監(jiān)控CPU利用率

import psutil
import time

# 監(jiān)控CPU利用率
for _ in range(5):
    cpu_percent = psutil.cpu_percent(interval=1)
    print(f"CPU Usage: {cpu_percent}%")
    time.sleep(1)

監(jiān)控內(nèi)存使用量

import psutil
import time

# 監(jiān)控內(nèi)存使用量
for _ in range(5):
    memory_usage = psutil.virtual_memory().percent
    print(f"Memory Usage: 1.15MB%")
    time.sleep(1)

監(jiān)控磁盤IO

import psutil
import time

# 監(jiān)控磁盤IO
for _ in range(5):
    disk_io = psutil.disk_io_counters()
    print(f"Read

 Count: {disk_io.read_count}")
    print(f"Write Count: {disk_io.write_count}")
    time.sleep(1)

監(jiān)控網(wǎng)絡(luò)流量

import psutil
import time

# 監(jiān)控網(wǎng)絡(luò)流量
for _ in range(5):
    network_io = psutil.net_io_counters()
    print(f"Bytes Sent: {network_io.bytes_sent} bytes")
    print(f"Bytes Received: {network_io.bytes_recv} bytes")
    time.sleep(1)

操作系統(tǒng)資源

獲取用戶信息

import psutil

# 獲取當(dāng)前用戶信息
user_info = psutil.users()
for user in user_info:
    print(f"User: {user.name}")
    print(f"Terminal: {user.terminal}")
    print(f"Host: {user.host}")
    print("")

獲取虛擬內(nèi)存信息

import psutil

# 獲取虛擬內(nèi)存信息
virtual_memory = psutil.virtual_memory()
print(f"Total: {virtual_memory.total / (1024 ** 3):.2f} GB")
print(f"Used: {virtual_memory.used / (1024 ** 3):.2f} GB")
print(f"Free: {virtual_memory.free / (1024 ** 3):.2f} GB")
print(f"Usage: {virtual_memory.percent}%")

安全性和權(quán)限考慮

在使用psutil庫(kù)時(shí),需要注意安全性和權(quán)限問(wèn)題。某些功能可能需要管理員權(quán)限或超級(jí)用戶權(quán)限才能訪問(wèn),例如終止進(jìn)程、查詢其他用戶的進(jìn)程等。確保你的程序以合適的權(quán)限運(yùn)行,以避免潛在的問(wèn)題。

總結(jié)

psutil庫(kù)是Python中用于系統(tǒng)監(jiān)控和管理的強(qiáng)大工具,它提供了豐富的功能來(lái)獲取系統(tǒng)信息、管理進(jìn)程、監(jiān)控系統(tǒng)性能等。本文介紹了psutil庫(kù)的基本用法和示例代碼,幫助大家更好地理解和利用這個(gè)庫(kù)。無(wú)論是用于系統(tǒng)管理、性能監(jiān)控、自動(dòng)化任務(wù)還是系統(tǒng)信息收集,psutil都是一個(gè)不可或缺的Python神器。

以上就是Python利用psutil庫(kù)進(jìn)行監(jiān)控進(jìn)程和資源的詳細(xì)內(nèi)容,更多關(guān)于Python psutil的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)將Word和Excel文件轉(zhuǎn)換為PPT

    Python實(shí)現(xiàn)將Word和Excel文件轉(zhuǎn)換為PPT

    在日常工作中,我們經(jīng)常需要將多個(gè)Word文檔或Excel表格的內(nèi)容匯總到一個(gè)PPT演示文稿中,手動(dòng)執(zhí)行這項(xiàng)任務(wù)可能非常耗時(shí),因此,使用Python自動(dòng)化這個(gè)過(guò)程可以大大提高效率,所以本文給大家介紹了Python實(shí)現(xiàn)將Word和Excel文件轉(zhuǎn)換為PPT,需要的朋友可以參考下
    2024-08-08
  • Python引用模塊和查找模塊路徑

    Python引用模塊和查找模塊路徑

    這篇文章主要介紹了Python引用模塊和Python查找模塊路徑的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • python的繪圖工具matplotlib使用實(shí)例

    python的繪圖工具matplotlib使用實(shí)例

    這篇文章主要介紹了python的繪圖工具matplotlib使用實(shí)例,需要的朋友可以參考下
    2014-07-07
  • Python自動(dòng)化辦公之Excel數(shù)據(jù)的寫入

    Python自動(dòng)化辦公之Excel數(shù)據(jù)的寫入

    這篇文章主要為大家詳細(xì)介紹一下Python中excel的寫入模塊- xlsxwriter,并利用該模塊實(shí)現(xiàn)Excel數(shù)據(jù)的寫入,感興趣的小伙伴可以了解一下
    2022-05-05
  • Python實(shí)現(xiàn)對(duì)一個(gè)函數(shù)應(yīng)用多個(gè)裝飾器的方法示例

    Python實(shí)現(xiàn)對(duì)一個(gè)函數(shù)應(yīng)用多個(gè)裝飾器的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)對(duì)一個(gè)函數(shù)應(yīng)用多個(gè)裝飾器的方法,結(jié)合實(shí)例形式分析了Python編程中一個(gè)函數(shù)使用多個(gè)裝飾器的簡(jiǎn)單操作技巧,需要的朋友可以參考下
    2018-02-02
  • 一文詳解Python中多進(jìn)程和進(jìn)程池的使用方法

    一文詳解Python中多進(jìn)程和進(jìn)程池的使用方法

    這篇文章將介紹Python中多進(jìn)程和進(jìn)程池的使用方法,并提供一些實(shí)用的案例供大家參考,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-04-04
  • pytorch中torch.max和Tensor.view函數(shù)用法詳解

    pytorch中torch.max和Tensor.view函數(shù)用法詳解

    今天小編就為大家分享一篇pytorch中torch.max和Tensor.view函數(shù)用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • 使用Python?Matplotlib處理地理數(shù)據(jù)可視化

    使用Python?Matplotlib處理地理數(shù)據(jù)可視化

    地理數(shù)據(jù)可視化是數(shù)據(jù)科學(xué)中一個(gè)重要的領(lǐng)域,它幫助我們理解和分析與地理位置相關(guān)的數(shù)據(jù),Python?提供了強(qiáng)大的工具來(lái)處理地理數(shù)據(jù),本文將介紹如何使用?Python?Matplotlib?處理地理數(shù)據(jù)可視化,包括基礎(chǔ)概念、常用庫(kù)、數(shù)據(jù)處理以及實(shí)際案例,需要的朋友可以參考下
    2024-11-11
  • Centos安裝Python虛擬環(huán)境及配置方法

    Centos安裝Python虛擬環(huán)境及配置方法

    這篇文章主要介紹了Centos安裝Python虛擬環(huán)境及配置方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python制作一個(gè)多功能音樂(lè)播放器

    Python制作一個(gè)多功能音樂(lè)播放器

    本文主要介紹了Python制作一個(gè)多功能音樂(lè)播放器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評(píng)論

韶关市| 盐边县| 鲜城| 南通市| 隆昌县| 建平县| 阿合奇县| 西青区| 济源市| 滨海县| 吉隆县| 兴文县| 定兴县| 崇阳县| 腾冲县| 曲阳县| 平湖市| 仙桃市| 平原县| 新邵县| 名山县| 新宾| 黎城县| 唐河县| 平利县| 读书| 刚察县| 大厂| 和林格尔县| 东乌珠穆沁旗| 高台县| 西乌| 安多县| 叶城县| 泽普县| 新化县| 安丘市| 大余县| 东台市| 安顺市| 岳阳县|