如何在 Python 中监控每个进程的网络使用情况?

How to monitor per-process network usage in Python?

我想解决我的互联网问题,所以我需要一种方法来跟踪我的延迟以及哪个应用程序正在使用多少网络带宽。

我已经解决了检查延迟的问题,但现在我需要一种方法来监控每个进程的网络使用情况 (KB/s),就像它在 Windows 任务管理器中的显示方式一样。

在你推荐一个程序之前,除非它能够用时间戳记录值,否则这不是我要找的。我要求采用 Pythonic 方式,因为我需要同时记录网络带宽和延迟值,这样我才能确定特定进程是否导致延迟峰值。

这是我需要的信息:

时间 |进程号 |进程名称 |向下使用 |上使用 |网络延迟 |

此外,除非您知道他们的解决方案有效,否则请不要 link 回答另一个 Whosebug 问题。我已经浏览了很多,其中 none 有效,这就是我再次提问的原因。

this guide 的第三部分为我提供了 post 中列出的所有信息,减去延迟。鉴于您说您已经计算出测量延迟时间,我认为这不是问题。

将此记录到 csv/json/whatever 非常简单,因为所有信息都存储在熊猫数据框中。

因为这显示了进程的创建时间,您可以使用 datetime 在记录时生成新的时间戳。

我在初始化 printing_df 变量后通过登录到 csv 进行了测试,没有任何问题。