Skip to content

This C++ project is a Linux system monitor inspired from htop, a popular Linux system monitor. This project uses various Object Oriented Programming concepts in C++.

License

Notifications You must be signed in to change notification settings

ram-ravan/Linux-System-Monitor

Repository files navigation

Linux System Monitor

This Linux System Monitor is an inspiration from htop, a popular system monitor. This project code is written in C++ programming language using its Object Oriented Programming features such as Inheritance, Composition, Polymorphism etc. A graphical display output library named ncurses displays the system information in the terminal. The starter code for this project is provided by Udacity as a part of C++ nanodegree program.

System Monitor

ncurses

ncurses is a library that facilitates text-based graphical output in the terminal. This project relies on ncurses for display output.

Install ncurses within your Linux environment: sudo apt install libncurses5-dev libncursesw5-dev

Make

This project uses Make. The Makefile has four targets:

  • build compiles the source code and generates an executable
  • format applies ClangFormat to style the source code
  • debug compiles the source code and generates an executable, including debugging symbols
  • clean deletes the build/ directory, including all of the build artifacts

Instructions to clone and execute the code

  1. Clone the project repository: git clone https://github.com/ram-ravan/Linux-System-Monitor.git

  2. To compile the project, first, create a build directory and change to that directory:

mkdir build && cd build

From within the build directory, then run cmake and make as follows:

cmake ..
make
  1. Build the project: make build

  2. Run the resulting executable: ./build/monitor

About

This C++ project is a Linux system monitor inspired from htop, a popular Linux system monitor. This project uses various Object Oriented Programming concepts in C++.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published