In this project we build a linux system monitor similar to htop.
Starter code for System Monitor Project in the Object Oriented Programming Course of the Udacity C++ Nanodegree Program.
The Udacity provided workspace is very convenient but I developed this project on my local machine - Ubuntu 20.04.2 LTS.
ncurses is a library that facilitates text-based graphical output in the terminal. This project relies on ncurses for display output.
Within the Udacity Workspace, .student_bashrc
automatically installs ncurses every time you launch the Workspace.
If you are not using the Workspace, install ncurses within your own Linux environment: sudo apt install libncurses5-dev libncursesw5-dev
This project uses Make. The Makefile has four targets:
build
compiles the source code and generates an executableformat
applies ClangFormat to style the source codedebug
compiles the source code and generates an executable, including debugging symbolsclean
deletes thebuild/
directory, including all of the build artifacts
-
Clone the project repository:
git clone https://github.com/udacity/CppND-System-Monitor-Project-Updated.git
-
Build the project:
make build
-
Run the resulting executable:
./build/monitor
-
Follow along with the lesson.
-
Implement the
System
,Process
, andProcessor
classes, as well as functions within theLinuxParser
namespace. -
Submit!
My system monitor looks like the following: