Smart Process Manager (SPM) is a powerful, lightweight, and cross-platform system management tool written in C++11. It provides a modern graphical interface for monitoring processes, managing system resources, and analyzing hardware performance in real-time.
- Interactive Process Table: Real-time list of all running processes with PID, Name, Status, Priority, Memory Usage, and Owner.
- Search & Filter: Instantly find processes by name or owner using the integrated search bar.
- Vibrant UI: Built with Dear ImGui, featuring a "Task Manager" style dark theme with rounded corners and high readability.
- Tiered Termination: Uses a "Graceful-then-Hard" strategy (WM_CLOSE/SIGTERM followed by a fallback kill) to prevent data loss.
- Priority Management: Change process priority levels (Idle to High) on the fly.
- System Protection: Automatically protects critical system/root processes by disabling management actions for them.
- Real-time Graphs: Dedicated Performance tab with 2D scrolling graphs for global CPU and RAM usage.
- Asynchronous Updates: Background thread-safe snapshotting ensures the UI remains responsive regardless of system load.
- Implementation Logs: Tracks application events and errors.
- Process Snapshots: Logs formatted process tables to dedicated files for historical analysis.
- CMake (3.10 or newer)
- Compiler:
- Windows: MinGW-w64 (64-bit) or MSVC
- Linux: GCC/G++ (Requires
build-essential,libglfw3-dev,libgl1-mesa-dev,libx11-dev, etc.)
- Clone the repository:
git clone https://github.com/breadOnLaptop/SPM.git cd SPM - Generate build files:
mkdir build cd build cmake -G "MinGW Makefiles" ..
- Compile:
mingw32-make
- Install dependencies:
# Ubuntu/Debian sudo apt update sudo apt install build-essential cmake libglfw3-dev libgl1-mesa-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev - Build:
cd SPM mkdir build cd build cmake .. make
- Run:
./spm
SPM/
├── include/ # Core backend & UI headers
├── src/ # Implementation logic
├── third_party/ # Vendored Dear ImGui & GLFW
├── CMakeLists.txt # Build configuration
└── README.md
This project is licensed under the MIT License.