Skip to content
>_devvkit
$devvkit learn --librarie procs-guide

procs Guide

[processes][cli][rust][tui]
System Monitoring
Install
brew install procs
# or: cargo install procs
# Windows: download from github.com/dalance/procs/releases
# Linux: download binary from releases

procs is a Rust-based ps alternative. It outputs a colorized table by default with columns for PID, name, CPU%, memory%, user, port, and Docker container name. It auto-senses the terminal width and adjusts columns accordingly.

Killer features: `--watch` for auto-refresh (like htop-lite), `--tree` for process hierarchy, search with `/` (interactive), Docker column showing which container owns each process, and configurable column layouts.

procs uses `--sort` with any column, `-a` for all users, filtering by keyword after a `--`. It's written in Rust and runs on Linux, macOS, and Windows. For interactive process management (killing, renicing), stick with htop.

Basic

List processesDefault colorized view.
procs                         # All user processes
procs -a                      # All processes (including system)
procs -a | head -20
procs --sort mem              # Sort by memory
procs --sort cpu              # Sort by CPU

Watch Mode

Watch modeAuto-refresh every 2s.
procs --watch                 # Like htop but simpler
procs --watch=3               # Refresh every 3 seconds
procs --watch --sort cpu      # Watch sorted by CPU
procs --watch --tree          # Watch in tree mode

Filtering

Filter by keywordFind specific processes.
procs nginx                   # All nginx processes
procs node                    # All node processes
procs --or java gradle        # Java OR gradle
procs --and nginx master      # nginx AND master
procs docker                  # All Docker-related processes
Docker-awareShow container names.
procs --docker                # Show Docker column
procs --docker --sort docker  # Group by container
# Lists: PID, NAME, CPU, MEM, DISK, DOCKER
# Great for: finding which container is eating memory
Kill from outputKill process by PID.
procs --sort mem              # Find memory hog
# Copy PID from first column, then:
# kill -9 <PID>
# Or use procs --watch and note the PID

# Procs doesn't have built-in kill (that's htop's job),
# but it makes finding the right PID easy

Tree View

Tree viewProcess hierarchy.
procs --tree                  # Parent-child tree
procs --tree --sort mem       # Tree sorted by memory
procs --tree nginx            # Tree filtered to nginx
# Useful: see which PIDs are children of a service

Configuration

Custom columnsChoose what to show.
procs --only pid,name,cpu,mem,port,user
procs --only pid,ppid,name,cpu,mem,start-at,conns
# Available columns: pid, ppid, name, cpu, mem, user, port, tcp, udp, docker, disk, read, write, rss, vms, start-at, conns
Config filePersistent defaults.
# ~/.config/procs/config.toml
# Default columns:
display = ["PID", "Name", "CPU", "Mem", "Port", "Docker"]
sort = "Mem"
# Skip system processes by default:
filter_system = true
# Watch refresh interval:
interval = 3
# Tree view by default:
tree = false