Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aproc — Accessible Process Manager

A static, keyboard-driven process snapshot browser for Linux, built for screen-reader users. Unlike top/htop, aproc never auto-refreshes: the process list is a frozen snapshot until you explicitly press Ctrl-R.

Usage

aproc [mem|memory|cpu|pid|name]

Defaults to mem if no argument given.

Keys

  • Up/Down — move selection
  • Home/End — jump to the first/last process in the list
  • Left/Right — change the displayed field (mem/cpu/pid/name/age/user) without resorting or refreshing
  • Enter — show process details
  • Esc — back out of any secondary view or prompt (details, filter, sort chooser, signal chooser, command prompt, error) and return to the list
  • Ctrl-R — take a new snapshot (explicit refresh; keeps current sort)
  • / — filter by name or command line (operates on current snapshot only)
  • s — open sort chooser: m/M mem, c/C cpu, n/N name, p/P pid (lowercase = default direction, uppercase = reversed); choosing a key refreshes the snapshot
  • k — open signal chooser for the selected process (Up/Down to pick, or type a signal number + Enter; default is SIGTERM). An unrecognized number reports unknown signal: N inline and sends nothing.
  • Ctrl-K — send SIGTERM to the selected PID immediately, bypassing the chooser
  • ! — run an external command against the selected process
  • q — quit

! command placeholders

  • {pid} — the process's PID
  • {name} — the process's name
  • {cmd} — the full command line, as one shell-quoted token
  • {user} — the owning user

This list is also shown as a hint line under the ! prompt itself, so it is discoverable without leaving the app. On Enter, aproc leaves its alternate screen and hands the terminal to the command, then waits for you to press Enter before restoring the UI, so the command's output stays readable.

Example: ! strace -p {pid}. Values are shell-escaped before substitution, so process names/command lines containing spaces or shell metacharacters cannot alter the command's structure. Unrecognized {...} placeholders are left as-is.

CPU metric

CPU is shown as a lifetime average percentage: total CPU time consumed by the process divided by its wall-clock age, not an instantaneous rate. aproc never samples /proc twice to compute a live rate — that would violate its no-polling design.

About

A Claude coded, designed by me accessible linux process manager that avoids constant redraws, inaccessible tables and graphs, and supports common workflows blind developers need for process management.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages