A high-performance, modular process management suite for Linux, featuring both a powerful command-line interface and a modern GTK3-based graphical user interface.
- 📊 Real-time Monitoring: Advanced task manager for tracking system processes.
- 🛠️ Job Control: Full support for foreground (
fg) and background (bg) job management. - 📡 Signal Handling: Seamlessly send signals (SIGKILL, SIGSTOP, SIGCONT) to manage process states.
- 💻 Integrated Shell: Custom shell mode for executing external commands and scripts.
- 🎨 Hybrid Interface: Choose between a sleek CLI (
pm_shell) or a native GTK3 GUI (pm_gui).
Ensure you have the following installed on your Linux system:
gcc(GNU Compiler Collection)libgtk-3-dev(For the GUI version)
Clone the repository and run the provided Makefile:
git clone https://github.com/yourusername/process-manager.git
cd process-manager
make allThis will generate two binaries:
pm_shell: The interactive CLI version.pm_gui: The graphical GTK3 version.
Launch the shell version for a classic terminal experience:
./pm_shellMenu Options:
- Monitor Processes: View active processes.
- Job Management: Switch between foreground and background jobs.
- Process Control: Send signals to PIDs.
- PM Shell Mode: Use it as a functional system shell.
Launch the GUI for a more visual experience:
./pm_guiThe GUI provides a clean, list-based view of processes with interactive controls powered by GTK3.
| File | Description |
|---|---|
main.c |
Entry point for the CLI application. |
gui_main.c |
Entry point and layout for the GTK3 GUI. |
process_mgmt.c |
Core logic for process execution and monitoring. |
job_control.c |
Handles foreground/background job states. |
signals.c |
Manages UNIX signal handling and process communication. |
utils.c |
Shared helper functions and formatting. |
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.