有没有办法在进程完成后获取 Linux 上给定进程使用的带宽摘要?我不想要监视器,我想要任务完成后可以查看的东西。
理想情况下是类似“时间”命令或分析器的东西,但用于网络使用。
答案1
答案2
可以使用基于 PID 的 iptables 来计算进出的数据包数量,我知道在进程启动之前知道 PID 几乎是不可能的。根据您的情况,这可能依赖于此。
iptables -A OUTPUT -p TCP -m owner --pid-owner $PID -j ACCEPT
您可以使用以下命令检查规则是否被命中以及有多少数据包被命中。
iptables-save -c
答案3
跟踪功能非常强大,可能能够完成您想要的功能。不过,也许它有点太低级了……
答案4
从等待用户输入的脚本调用进程,完成主进程后即可。这样,它就不会终止,您可以使用 ntop 或 nethogs 查看它下载/上传了多少内容。