有很多答案展示了如何使用软件包监控 Ubuntu 16.04 中的网络使用情况,甚至每个进程nethogs
。但是,我对所有这些方法的抱怨是它们都是命令行,并且需要在我的系统上保持终端打开才能进行监控。然后系统监视器中还有总网络使用情况,但这不是每个进程的。
有没有办法可以向系统监视器添加另一列,以显示自上次重启以来每个进程使用的总(累计)数据?类似于进程使用的内存或 CPU,但用于 Internet 数据。
答案1
系统监视器由 Gnome 维护。
这个想法在 2007 年被报告给了 Gnome。他们似乎对此没什么兴趣。请参阅Gnome 愿望清单错误多年来,他们一直在就这一话题进行推理。
Gnome 是开源的,并且欢迎志愿者贡献,所以如果你愿意gnome-system-monitor 代码,随意!系统监视器没有“插件”或“扩展”框架;也可以随意添加。
答案2
我不知道是否有任何 GUI 可以满足您的需求,但是如果您运行命令行工具,这些可以帮助您不保持终端窗口打开:
你可以设置 crontab 来启动命令行工具在操作系统启动时。
或者,您可以使用启动命令行工具
nohup
,然后关闭终端:
nohup <command-line tool>
将命令行工具的进程与终端进程分离,停止监听中断,并按照说明更改输入和输出流这里和这里。如果命令行工具没有重复功能——即它们执行一次然后返回
- 您可以使用 crontab 按每秒/每分钟的计划运行,而不是只运行一次 --- 它是“每 n 秒运行一次”
- 你可以使用
while sleep <n-seconds>; do <command-line tool> ; done
它来无限重复它们。请注意,一次执行结束和下一次执行开始之间会有 n 秒的间隔 --- 这是“延迟 n 秒后运行” 不是“每 n 秒运行一次”。
我目前正在学习 Matplotlib python 库,我感觉花几个小时用它和一些(线程?)python 来监视命令行工具记录到的任何文件的文件更改,可以生成一个自我更新的图形应用程序 - 取决于你的好奇心有多大 :)