| The first tool that came to mind for me was htop [0] with ncurses. It's a friendly alternative to top. I've previously used ncmpcpp [1] without any major complaints, although it's been a few years since then. It's an mpd [2] client written with ncurses. On my personal servers I use goaccess [3] to analyze access logs. I remember being able to pick it up pretty quickly on my first try. Only tangentially related, but you may find it useful to read the "Utility Conventions" [4] entry of The Open Group Base Specifications. I'd also suggest reading through the relevant entries under the "Program Behavior for All Programs" [5] section of GNU Coding Standards [6]. By following existing conventions (or even being aware they exist) you can sometimes make it easier for others to learn how to use your tool. If you know JavaScript, you may consider writing your program with node. The blessed [7] library is a JavaScript reimplementation of ncurses, and there's even a react renderer [8]. This makes building the UI much easier than many of the alternatives I know. When you're ready to release, you can generate an executable [9] for easy deployment or publication. The biggest benefits of taking this approach are that it makes it very easy to achieve cross-platform support, and the barrier of entry is lower than many alternatives. The biggest caveats are that it'll be slower and much larger than if it had been written with C. [0] http://hisham.hm/htop/ [1] http://rybczak.net/ncmpcpp/screenshots/ [2] https://www.musicpd.org [3] https://goaccess.io [4] http://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_... [5] https://www.gnu.org/prep/standards/html_node/Program-Behavio... [6] https://www.gnu.org/prep/standards/html_node/index.html [7] https://github.com/chjj/blessed [8] https://github.com/Yomguithereal/react-blessed [9] https://github.com/zeit/pkg |