在系统监视器中监视每个进程的网络使用情况

在系统监视器中监视每个进程的网络使用情况

有很多答案展示了如何使用软件包监控 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 来监视命令行工具记录到的任何文件的文件更改,可以生成一个自我更新的图形应用程序 - 取决于你的好奇心有多大 :)

相关内容