This project is a computer process management system developed using Node.js, MongoDB, and a bit of frontend to monitor system backend processes. It automatically saves process information to MongoDB and shuts down any processes exhibiting abnormalities.
The system continuously monitors CPU and memory usage, saving the metrics to a MongoDB database. If CPU or memory usage exceeds predefined thresholds, the system automatically shuts down the corresponding process.
Process Monitoring: Constantly monitors system backend processes.
Abnormality Detection: Identifies abnormal behavior in processes.
Automatic Shutdown: Automatically shuts down processes with abnormalities.
Database Integration: Stores process information in MongoDB.
Node.js: Backend server environment.
MongoDB: NoSQL database for storing process data.
Frontend: Minimal frontend for user interaction.
Clone the Repository: https://github.com/Shivendu-kr/Computer_process_management_system.git
computer-process-management/
│ ├── config.js # Configuration file (MongoDB connection, thresholds)
├──Modules, Package file # Dependencies files
├── app.js # The Main file
│ ├── public/ # Directory for static files (frontend)
│ └── index.html # Main HTML file
│ └── scripts.js # Main function file
│ └── styles.css # Cascading Style Sheets
cd Computer-process-management npm init -y npm i express child_process mongoose os
Run MongoDB server : mongod To see saved database: cmd mongose --> show dbs --> use tasklistDB --> db.tasklistDB.find()
node app.js
Open your browser and go to http://localhost:3000.
MongoDB connection settings can be configured in config.js. Process monitoring thresholds and other settings can be adjusted in config.js.
The system automatically monitors CPU and memory usage. Abnormalities trigger automatic shutdown of corresponding processes. The frontend displays current system metrics.
GET /api/systemMetrics: Retrieves CPU and memory usage metrics.
License This project is licensed under the MIT License.
Special thanks to Node.js and MongoDB for their powerful platforms. Thanks to all the online resources that helped improving this project.