A web application to monitor system processes using Flask, React, and WebSockets, with a backend powered by C++ and pybind11.
- 🖥️ Real-time process monitoring
- 📊 Process details: PID, User, Name, Status, Memory, CPU Usage
- 🔄 Auto-updating UI with WebSockets
- 🌐 Cross-origin resource sharing enabled
- Python 3.x
- Flask
- Flask-CORS
- Flask-SocketIO
- pybind11
- C++14 compatible compiler
- Node.js & npm (for React frontend)
-
Clone the repository:
git clone https://github.com/jero98772/processamonito.git cd processamonito/backend
-
Install Python dependencies:
pip install flask flask-cors flask-socketio pybind11
-
Compile the C++ code(Yes compile c++ code):
python setup.py build_ext --inplace
-
Run the Flask app:
python app.py
-
Navigate to the frontend directory:
cd ../frontend
-
Install npm dependencies:
npm install
-
Start the React app:
npm start
process-monitor-webapp/
│
├── backend/
│ ├── app.py # Flask backend
│ ├── process_monitor.cpp # C++ code with pybind11 bindings
│ └── process_monitor.so # Compiled shared object
│
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── App.js # Main React component
│ │ └── ... # Other React components and files
│ ├── package.json # npm configuration
│ └── ... # Other frontend files
│
├── README.md
└── ...
Returns a list of current system processes.
[
{
"pid": 1234,
"user": "root",
"name": "bash",
"status": "S",
"memory": 1024,
"cpu_usage": 0.5
},
...
]
- Start the Flask backend.
- Start the React frontend.
- Open your browser and navigate to
http://localhost:3000
. - Enjoy real-time process monitoring! 🎉
Feel free to open issues or create pull requests. Contributions are welcome!
This project is licensed under the MIT License. See the LICENSE file for details.
EDY, teacher of opresives systems
Happy coding! 💻✨