process-killer-dashboard/README.md

2.6 KiB

process-killer-dashboard 🖥️

A fast terminal process dashboard built in Rust. Monitor system processes, sort by resource usage, filter quickly, and terminate processes with confirmation.

Table of Contents

Why use this?

  • Fast TUI: Lightweight terminal UI with instant startup.
  • Actionable Process View: See CPU, memory, disk I/O, owner, uptime, and command line.
  • Interactive Sorting + Filtering: Sort by multiple resources and search by name, PID, or command text.
  • Safer Kill Flow: Soft/force kill paths with explicit confirmation.

Installation

Right now this project is source-first. Build it locally with Cargo.

Build from Source

  1. Prerequisites
  1. Run
cd process-killer-dashboard
cargo run
  1. Build Release Binary
cargo build --release

Binary path:

  • target/release/process-killer-dashboard

Usage

Start the app:

cargo run

The interface opens in an alternate terminal screen with a live process table.

Keybinds

  • q: Quit
  • p: Pause/resume refresh
  • / : Move selection
  • /: Enter search mode
  • Enter: Apply search (Search mode) or confirm kill (Confirm mode)
  • Esc: Clear search (Search mode) or cancel kill (Confirm mode)
  • y: Confirm kill (Confirm mode)
  • n: Cancel kill (Confirm mode), or sort by name (Normal mode)
  • k: Soft kill (TERM with timeout + fallback)
  • K: Force kill (KILL)
  • c: Sort by CPU descending
  • m: Sort by memory descending
  • r: Sort by disk read descending
  • w: Sort by disk write descending
  • i: Sort by PID ascending

Safety and Process Signals

  • Soft kill sends Signal::Term, waits up to 2 seconds, then falls back to Signal::Kill if needed.
  • Force kill sends Signal::Kill and waits for termination.
  • Signal support and permissions vary by OS and process privileges.
  • Terminal state restoration is guarded for normal exits and panic paths.

Future Plans

Potential next steps:

  • Per-process detail panel
  • Optional process-group kill controls
  • Optional export/snapshot of filtered process table

Contributing

Contributions are welcome. Open an issue or pull request with a clear problem statement and test coverage where possible.

License

This project is licensed under the MIT License. See LICENSE.