Skip to content

rjsdotorg/Process_Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Process_Control

Cross-platform process monitoring for exam-control scenarios.

The project includes:

  • OS-specific whitelist logic for Windows, Linux, and macOS.
  • A CLI monitor mode that checks running processes every second and prints blocked-process alerts.
  • A timed control mode that can enforce blocking/termination using the existing OS modules.

Features

  • Cross-platform support: Windows, Linux, macOS
  • Whitelist-based process validation
  • Real-time CLI alerts
  • Modular OS logic in Process_OS/

Project Structure

project-root/
├── main.py                    # Timed monitoring runner (uses OS modules)
├── monitor.py                 # Alert-only CLI monitor (no terminate)
├── process_detect.py          # Simple process list utility by OS
├── Process_OS/
│   ├── windows_process.py     # Windows whitelist + process handling
│   ├── linux_process.py       # Linux whitelist + process handling
│   └── unix_process.py        # macOS whitelist + process handling
├── LICENSE
└── README.md

Requirements

  • Python 3.9+
  • psutil

Install dependency:

pip install psutil

Usage

1) Alert-only monitor (recommended)

Runs continuously, checks once per second, and prints blocked processes to STDOUT. No process is terminated in this mode.

python monitor.py

Options:

python monitor.py --interval 1.0   # custom scan interval (seconds)
python monitor.py --once            # single scan and exit

2) Timed monitor (main.py)

Prompts for start/end times and runs the OS-specific workflow.

python main.py

Note: OS modules in Process_OS/ currently include termination logic for unauthorized processes when used through timed/enforcement paths.

3) Process listing utility

python process_detect.py

Whitelist Configuration

Edit whitelist entries in:

  • Process_OS/windows_process.py
  • Process_OS/linux_process.py
  • Process_OS/unix_process.py

Be careful when changing whitelist values. Removing essential system processes can cause instability.

Limitations

  • Some system/orphaned processes may be inaccessible due to permissions.
  • Process names vary by OS version and vendor tools, so whitelist tuning may be required per machine.

License

This project is for educational use and can be adapted for academic purposes.

About

This project is focused on the development of a process monitoring system controlling the execution of system processes during an exam session. The application allows instructors to define a whitelist of authorized processes, while automatically detecting, blocking, and terminating any non-authorized applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages