Linuxterminal – 打印大量的数据

我正在用C编程语言编写应用程序,可以监视远程计算机的系统信息,login的用户数量,可用内存等等。

我会将收集的信息写入标准输出。 但是通常terminal会有一个窗口,所以我需要通过结果实现某种“滚动”。

最简单的解决scheme是我想打印例如前25行,然后等待用户向上或向下,并相应地重写所有行。

有没有更容易/更优雅的方式来处理terminal上的这种输出?

编辑:忘记提及,如果一些新的input来自某个远程计算机,我想刷新数据,例如:进程数量的变化。

听起来像你需要诅咒。

这是ncurses库的指南 。

这是一个终端老派的GUI库。 像topmake menuconfig使用它,所以它在每个系统上。 在“可滚动的文本区域中放置数据”方面,它可以让您停止“打印25行和刷新”等方面的思考。

使用外部传呼机,比如more (或less )分页输出。 Unix的优势在于组合简单的命令,创建管道而不是重新创建已经存在的功能。