ConfigsApr 15, 2026·2 min read

procs — A Modern Replacement for ps Written in Rust

procs is a colorized, human-friendly replacement for the classic ps command, with built-in tree view, column filters, Docker integration, and TCP/UDP port display.

Introduction

ps aux is ubiquitous but its columns, flags, and BSD/SysV dialects are a minefield. procs offers a single, consistent, colorized view of running processes with sensible defaults: human-readable CPU/RAM, hostname resolution for TCP sockets, Docker container mapping, and a keyword filter that actually works.

What procs Does

  • Lists processes with default columns: PID, user, RSS/VSZ, CPU, command.
  • Filters by keyword, user, or PID range.
  • Shows tree view with --tree.
  • Inserts optional columns for TCP/UDP ports, Docker container, cgroup, ctxsw.
  • Works on Linux, macOS, Windows.

Architecture Overview

procs reads /proc on Linux, sysctl on macOS, and the Windows management APIs. Columns are declarative via ~/.config/procs/config.toml, and the rendering pipeline tokenizes, sorts, and paints with termcolor. A single Rust binary means no Python/Perl runtime required.

Self-Hosting & Configuration

  • Install via brew, cargo, apt, dnf, scoop, winget.
  • ~/.config/procs/config.toml customizes columns, colors, themes.
  • Pager integration via PAGER=less or built-in --pager.
  • JSON output for dashboards: procs --json.
  • Works inside containers if /proc is mounted.

Key Features

  • Multi-OS (Linux, macOS, Windows) with consistent UX.
  • Rich filters and sorting.
  • Optional TCP/UDP port, Docker, cgroup columns.
  • Tree view for parent/child exploration.
  • Pager, watch mode (--watch), JSON export.

Comparison with Similar Tools

  • ps — POSIX classic; cryptic flags.
  • htop — interactive TUI with CPU bars; heavier.
  • btop — even fancier TUI; same interactive niche.
  • pgrep/pkill — purpose-built; procs covers both plus display.
  • glances — Python monitor; slower startup.

FAQ

Q: Can it show Docker containers? A: Yes — --insert docker adds the container column.

Q: Does it work in restricted containers? A: Requires /proc access; privileged containers or hostPID=true.

Q: Watch mode rate? A: --watch-interval 1 seconds.

Q: Windows support? A: Yes — columns adapt to NT APIs.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets