python 监控进程流量
时间: 2023-07-03 19:28:06 浏览: 382
要监控进程的流量,可以使用 Python 中的 psutil 模块。该模块提供了一个 Process 类,可以获取进程的相关信息,包括网络连接。我们可以使用该类的 connections() 方法获取进程的网络连接信息,然后计算流量。
以下是一个示例代码:
```python
import psutil
import time
process_name = "your_process_name"
while True:
# 获取进程列表
for proc in psutil.process_iter():
try:
# 获取进程详情
pinfo = proc.as_dict(attrs=['pid', 'name'])
# 如果进程名匹配
if process_name in pinfo['name']:
# 获取进程的网络连接信息
connections = proc.connections()
# 计算流量
bytes_sent = 0
bytes_recv = 0
for conn in connections:
if conn.status == psutil.CONN_ESTABLISHED:
bytes_sent += conn.bytes_sent
bytes_recv += conn.bytes_recv
print(f"Process: {process_name}, Sent: {bytes_sent}, Received: {bytes_recv}")
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
time.sleep(1)
```
该代码会每秒钟获取一次进程列表,找到进程名匹配的进程,并计算其网络连接的流量信息。注意,该代码只能在类 Unix 系统上运行。如果要在 Windows 上运行,需要安装 pywin32 模块。
阅读全文