TL;DR — Quick Summary
Procs is a modern replacement for ps written in Rust. Color-coded output, tree view, multi-column keyword search, Docker support, and configurable columns.
Procs makes process listing beautiful and useful. Instead of memorizing ps aux | grep something, just run procs something — you get color-coded, searchable results with CPU, memory, ports, and Docker info.
Installation
# macOS
brew install procs
# Arch Linux
sudo pacman -S procs
# Cargo
cargo install procs
# Snap
snap install procs
Usage
# List all processes (color-coded)
procs
# Search for a process (searches ALL columns)
procs node
procs firefox
procs 8080 # Find process using port 8080
# Tree view (show parent-child hierarchy)
procs --tree
# Watch mode (continuous monitoring)
procs --watch
procs --watch-interval 2
# Sort by CPU
procs --sorta cpu # ascending
procs --sortd mem # descending
# Show specific columns
procs --insert TcpPort,UdpPort
# JSON output
procs --output json
Key Features
| Feature | procs | ps | htop |
|---|---|---|---|
| Color | ✅ Auto | ❌ | ✅ |
| Tree view | ✅ | ❌ (pstree) | ✅ |
| Search | ✅ Multi-column | ❌ (grep) | ✅ |
| Docker names | ✅ | ❌ | ❌ |
| TCP/UDP ports | ✅ | ❌ | ❌ |
| Watch mode | ✅ | ❌ | ✅ |
| Config file | ✅ TOML | ❌ | ❌ |
| Written in | Rust | C | C |
Configuration
# ~/.config/procs/config.toml
[[columns]]
kind = "Pid"
style = "BrightYellow"
align = "Right"
[[columns]]
kind = "Username"
[[columns]]
kind = "Cpu"
style = "BrightRed"
[[columns]]
kind = "Mem"
[[columns]]
kind = "Command"
Summary
- Procs is a modern, color-coded ps replacement written in Rust
- Multi-column keyword search — procs node searches name, ports, user, etc.
- Tree view for process hierarchies, Docker container names, port info
- Watch mode for continuous monitoring like top
- Configurable columns and styling via TOML config file