Python 读取 Linux 进程信息(psutil 库)

```html Python 读取 Linux 进程信息(psutil 库)

Python 读取 Linux 进程信息(psutil 库)

在现代的系统管理与开发中,了解和监控 Linux 系统上的进程信息是一项重要的技能。通过 Python 脚本读取这些信息可以极大地提高工作效率。本文将介绍如何使用 psutil 库来获取 Linux 系统中的进程信息。

什么是 psutil 库?

psutil 是一个跨平台的库,用于检索系统运行时的信息。它支持 Linux、Windows 和 macOS 等操作系统,并提供了丰富的 API 来获取 CPU、内存、磁盘、网络等系统资源的详细信息。对于开发者来说,psutil 是一个非常强大的工具,尤其在需要监控和管理系统进程时。

安装 psutil 库

在开始之前,首先需要确保你的环境中已经安装了 psutil 库。你可以通过 pip 命令轻松地完成安装:


pip install psutil

安装完成后,我们就可以开始使用这个库了。

基本用法

要获取 Linux 系统中的进程信息,首先需要导入 psutil 模块,并调用其提供的函数来获取所需的信息。

获取所有进程列表

我们可以使用 psutil.process_iter() 函数来获取当前系统上所有正在运行的进程的迭代器对象。然后,我们可以遍历这个对象来获取每个进程的详细信息。


import psutil

for proc in psutil.process_iter(['pid', 'name', 'cpu_percent', 'memory_info']):
    print(proc.info)

上述代码会打印出每个进程的 PID、名称、CPU 占用率以及内存使用情况。

获取特定进程信息

如果想要获取某个特定进程的信息,可以使用 Process 类并传入进程的 PID。


import psutil

# 获取指定 PID 的进程对象
pid = 1234  # 替换为实际的 PID
process = psutil.Process(pid)

# 打印进程的基本信息
print("进程名称:", process.name())
print("进程 PID:", process.pid)
print("进程状态:", process.status())
print("CPU 使用率:", process.cpu_percent(interval=1))
print("内存使用情况:", process.memory_info())

在这个例子中,我们通过指定 PID 来获取该进程的具体信息,包括名称、状态、CPU 使用率和内存使用情况。

高级功能

除了基本的进程信息外,psutil 还提供了许多高级功能,例如监控进程的 I/O 统计信息、线程信息以及挂起和终止进程的能力。

监控 I/O 统计信息

我们可以使用 io_counters() 方法来获取进程的输入输出统计信息。


import psutil

pid = 1234  # 替换为实际的 PID
process = psutil.Process(pid)

io_stats = process.io_counters()
print("读取字节数:", io_stats.read_bytes)
print("写入字节数:", io_stats.write_bytes)

终止进程

如果需要终止某个进程,可以使用 terminate()kill() 方法。


import psutil

pid = 1234  # 替换为实际的 PID
process = psutil.Process(pid)

# 终止进程
process.terminate()

# 如果进程未正常退出,强制杀死
if process.is_running():
    process.kill()

总结

通过本文的学习,你应该已经掌握了如何使用 psutil 库来读取 Linux 系统中的进程信息。无论是简单的进程列表查询还是复杂的进程监控,psutil 都能提供强大且灵活的功能。希望这篇文章对你有所帮助!

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值