如何找出除一个特定进程之外的所有进程使用了​​多少互联网带宽?

如何找出除一个特定进程之外的所有进程使用了​​多少互联网带宽?

作为后续问题这个:

我正在使用命令在多台远程计算机上下载文件curl,并使用--limit-rate参数来限制正在使用互联网的计算机的下载速度:

卷曲--限制速率10k -r 104857601-209715200 -o distro2.iso 'http://files.cdn/distro.iso'

因此,我必须定期监控每台计算机的互联网使用情况(例如每 5 秒一次),并动态减少--limit-rate用户使用互联网的时间,并在互联网使用空闲时增加它。所以我唯一需要知道的是远程计算机的用户是否正在使用他们的互联网(例如浏览网页或下载文件)。有什么简单的方法可以找出这个吗?我想我必须获取 PIDcurl并将其从正在使用互联网的应用程序列表中排除,以查明是否有其他应用程序正在使用互联网。我只是不知道使用哪个命令更好。首选使用不需要 sudo 权限的命令。任何建议将不胜感激!

答案1

我曾经编写过一个运行 ifconfig 的 perl 脚本,并使用字节显示来计算轮询期间(5 秒或其他)消耗的平均带宽。因此,假设您知道卷曲当前运行的速率,您可以扣除该时间段(10 k 乘以 5 秒)的速度,并找出是否还有其他情况发生。然后根据需要调整速度。如果您想尝试类似的操作,我可以提供该 perl 脚本的链接。

相关内容