我想写一个程序,像htop一样在shell中显示输出,而不是只运行程序并使用watch命令。我浏览了htop的源代码,仍然有点不知所措。所使用的shell中是否存在tty之外的输出,或者所有htop面板都是自定义的,并且打开这样的输出对于类似shell的bash来说不是本机任务?
谢谢。
htop作者在这里。你要找的是NCurses图书馆。使用NCurses,您可以在C.中实现全屏文本模式应用程序
它为终端上的"绘图"提供了一组基元:即move()
到屏幕上的X-Y坐标、更改颜色、擦除部分屏幕等功能。它还提供了一些高级结构,如"窗口",通过这些结构可以单独滚动部分屏幕,但在htop中,我不使用它,而是使用较低级别的基元"手动"绘制可滚动面板。