Advanced Process Manager with Process Synchronization

This project implements an Advanced Process Manager that allows you to create and manage processes and threads with synchronization. It includes process creation, listing processes, process termination, and thread creation.

Project Files

The project consists of the following files:

  • main.py: The main script that provides a user interface for managing processes and threads.
  • process_manager.py: The ProcessManager class, which handles process and thread management.
  • test_process_manager.py: Unit tests for the ProcessManager class using Python's unittest framework.

How to Use

  1. Run main.py to start the Process Manager.
  2. Choose from the following options:
    • Create a new process by providing a command.
    • List all active processes.
    • Terminate a process by specifying its PID.
    • Create a new thread with a function.
    • Exit the program.

Project Report

A project report is available in the Project_Report.pdf file, which includes the title of the project, a list of implemented functionalities, installation and usage instructions, test results, and a discussion of the project's outcome.

GitHub Repository

The source code for this project, including the Python files, the Project_Report.pdf, and this readme.md file, is available on GitHub. You can access the repository at the following link: Advanced-Process-Manager-with-Process-Synchronization

Feel free to provide feedback. Happy processing!