This project is a high-performance process management tool designed to interactively manage processes, monitor system resources, and log activities. It offers a set of commands to list active processes, monitor system resource usage, kill processes by PID, view recent logs, and more.
You can see the flow diagram here.
The project documentation is distributed across multiple .md files, each addressing a specific aspect of the project. Below is a summary of these files:
1. INSTALL.md
This file contains detailed instructions on how to set up and run the project both with and without Docker. It includes the following sections:
- Running with Docker: Explains how to build and run the Docker container.
- Running without Docker: Provides steps to manually set up the environment using Conan, CMake, and other dependencies.
2. CHALLENGE.md
In this file, I explain the challenge this project addresses. It provides an overview of the problem space and outlines the specific tasks that the project solves, such as process management, monitoring, and logging. This file also delves deeper into the requeriments of the project.
This file details the additional challenge aspect of the project. It builds upon the initial challenge, introducing extra requirements and features that extend the project’s functionality. In this section, we explore the enhancements and improvements that go beyond the core functionality of the process manager.
The list command displays all active processes running on the system.
> listThis will print out a list of currently running processes, showing details like process IDs (PIDs), CPU usage, and memory usage.
The monitor command starts a real-time display of the system's CPU and memory usage.
Example:
> monitorThis will show the CPU and memory usage in real-time, updating periodically.
The kill command allows you to terminate a running process by providing its Process ID (PID).
Example:
> kill 12345This will terminate the process with PID 12345. If no PID is provided, an error message is displayed.
The log command displays recent log entries related to the application.
Example:
> logThis will show the most recent logs, including any errors or important events that have occurred within the application.



