Skip to content

msolimann2cs/Linux-Task-Manager

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

THE Linux Task Manager

A user-friendly Linux process manager with a sleek UI, providing essential functionalities like process monitoring, sorting, killing, and process tree visualization. It offers a unique experience for both beginners and experienced users, combining simplicity and functionality in one tool. Powered by Rust and TUI libraries, THE delivers efficient system monitoring and control.
Explore the docs »

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

This is the main view of our program where it is shown the table of processes and the CPU and memory graphs along with some info about the system and help info.

Alt text

In another view, user can see the table or the graphs alone.

Table view Graphs view
Table graph

But, if the user selected a process from the table and pressed Enter, info about this process will be shown as in the pic: one

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

You need to use cargo to install THE.

  • Cargo
    sudo apt-get update -g
    sudo apt-get -y install cargo

Installation

  1. Make sure you are using Linux OS.

  2. Clone the repo

    git clone https://github.com/MokhtarBaWahal/THE.git
  3. Install cargo packages if not installed

  4. Cd to the repo dir and run the follwing

    cargo build
    ./target/debug/hello_cargo

(back to top)

Usage

  • q key quits/exits
  • d key to view the table and graphs
  • t key to view the table only
  • g key to view graphs only
  • Enter key to view more information about the selected process
  • Ctrl + k key to kill the selected process
  • Ctrl + key followed by a character for quick search
  • For filtering followed by character: p(pid), u (user), r(priority), n(niceness), e: memory, h:(shared memory), b(state), c(cpu), m (memory), or t (time in sec).
  • ./app pstree to print tree
  • ./app u (username) to get selected user processes only

(back to top)

Future plans

  • Open client-server architecture
  • Remote monitoring

(back to top)

Contributing

This project was built by the following collaborators as a term project for the course of Operating Systems at the American University in Cairo, team memebers are:

  1. Mohamed A. Soliman
  2. Mokhtar S. Ba Wahal
  3. Passant A. Moustafa

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Mokhtar Salem Ba Wahal - @mbawhil - mokhtarsalem@aucegypt.edu

Project Link: https://github.com/MokhtarBaWahal/THE

(back to top)

Acknowledgments

  • The development team would like to thank the people who contributed to the development of sysinfo and tui crates, especially the examples provided with tui crate. Also, we would like to thank our professor Amr El-kadi for his continuous feedback during the semester.

(back to top)

About

THE Linux Task Manager: an Operating Systems Class project built in Rust, providing a terminal-based Linux process manager with live CPU/memory monitoring, process sorting, filtering, killing, detailed process views, and process tree visualization.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%