
python获取进程的详细信息
常见问答
如何使用Python获取某个进程的CPU和内存使用情况?
我想知道怎样用Python代码获取一个指定进程的CPU占用率和内存使用量,是否有现成的库可以帮助实现?
使用psutil库监控进程资源占用
可以使用Python的psutil库来获取进程的详细信息。通过psutil.Process(pid)创建进程对象后,调用cpu_percent(interval=1)可以获得CPU使用率,memory_info()则返回内存使用数据。示例代码:
import psutil
pid = 1234 # 进程ID
process = psutil.Process(pid)
cpu_usage = process.cpu_percent(interval=1)
memory_info = process.memory_info()
print(f'CPU使用率: {cpu_usage}%')
print(f'内存使用: {memory_info.rss / 1024 / 1024} MB')
如何列出系统中所有运行的进程及其详细信息?
我需要一个Python脚本,能够列出系统上所有正在运行的进程,并显示它们的PID、名称和启动时间等信息。
利用psutil遍历系统进程并获取详细信息
psutil库提供了遍历所有系统进程的接口。使用psutil.process_iter(attrs=[...])可以指定需要获取的进程属性。示例代码如下:
import psutil
for proc in psutil.process_iter(attrs=['pid', 'name', 'create_time']):
info = proc.info
print(f"PID: {info['pid']}, 名称: {info['name']}, 启动时间: {info['create_time']}")
Python中如何捕获访问进程信息时的权限错误?
由于安全限制,尝试访问某些进程信息时可能会出现权限不足的异常,怎样优雅处理这些异常?
使用异常捕获机制避免权限错误终止程序
访问系统进程信息时,有些进程可能因权限问题导致psutil.AccessDenied异常。使用try-except块捕获该异常,可以避免程序崩溃并跳过这些进程。示例如下:
import psutil
for proc in psutil.process_iter():
try:
print(proc.pid, proc.name())
except psutil.AccessDenied:
print(f"无法访问进程 {proc.pid} 的信息,权限不足。")