```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
都能提供强大且灵活的功能。希望这篇文章对你有所帮助!
```