How to Install and Use procs in Linux as a Modern Color-Coded Replacement for ps

The traditional Unix ps command has been the standard utility for auditing running processes since the early days of BSD and Linux. However, running ps aux on a modern production system or desktop workstation frequently yields a wall of unformatted, monochrome text with truncated command strings and obscure memory counters expressed in raw kilobytes.

To deliver a more readable, intuitive command-line process viewer, developer communities developed procs. Written in Rust for maximum execution speed, procs serves as a drop-in modern replacement for ps. It formats process output with distinct colour hierarchies, automatic column alignment, human-readable data units (MB, GB), integrated TCP/UDP listening port mapping, and interactive tree views.

Why procs Outperforms Legacy ps

While standard ps requires memorising complicated syntax flags (such as -ef, aux, or custom -o output parameters), procs delivers actionable insights out of the box:

  • Human-Readable Metric Units: Memory footprints automatically display in megabytes and gigabytes rather than confusing 6-digit block numbers.
  • Automatic Network & Docker Mapping: Detects and highlights which network ports a daemon is listening on, alongside associated Docker container names.
  • Intelligent Keyword Search: Typing procs nginx automatically filters running processes without requiring grep or piping commands.
  • Non-Truncated Command Paths: Wraps or cleanly formats long command execution arguments, ensuring you can distinguish between multiple microservice instances.

Installing procs in Ubuntu and Linux Distributions

There are several straightforward methods to install procs across Linux platforms:

Method 1: Direct Installation via APT (Ubuntu 24.04 and Newer)

On modern Ubuntu releases, procs is packaged directly within standard universe repositories:

sudo apt update
sudo apt install procs

Method 2: Installation via Snap

If you prefer containerised application packages across any Ubuntu LTS version:

sudo snap install procs

Method 3: Direct Precompiled Binary Download

For standalone environments, download the official precompiled release from GitHub:

wget https://github.com/dalance/procs/releases/latest/download/procs-v0.14.8-x86_64-lnx.zip
unzip procs-v0.14.8-x86_64-lnx.zip
sudo mv procs /usr/local/bin/
sudo chmod +x /usr/local/bin/procs

Method 4: Installation via Cargo (Rust Package Manager)

If you have a Rust development toolchain configured:

cargo install procs

Running procs and Exploring Default Visualisations

To inspect active processes across your system, simply execute:

procs

The command outputs a structured table displaying:

  • PID & User: Highlighted in distinct colour codes for root versus standard user processes.
  • TTY: Indicates which terminal session owns the process.
  • CPU & Memory Footprint: Color-coded progress thresholds (green for minimal consumption, shifting to yellow and red as consumption escalates).
  • Read / Write I/O Rates: Live disk throughput consumed by each process.
  • Command: The full command path and execution arguments.

Filtering and Searching Processes Easily

Unlike ps which requires ps aux | grep process_name, procs accepts search arguments directly:

procs firefox
procs sshd
procs python

The command instantly filters the list to processes matching that string while retaining table headers and colorised metric highlights.

Displaying Process Hierarchies in Tree View

To understand parent-child relationships between system daemons, background workers, and shell instances, activate the tree visualisation:

procs --tree

Procs draws clean unicode branch lines connecting parent systemd units directly to their child threads, allowing you to trace rogue child processes back to their launcher.

Sorting by Resource Usage

Identify hardware resource bottlenecks instantly using built-in sort flags:

procs --sortd cpu    # Sort descending by CPU usage
procs --sortd mem    # Sort descending by Memory consumption
procs --sortd read   # Sort descending by Disk read rate

Watching Processes in Real Time

To keep the display live like top or htop without leaving procs, invoke the watch mode:

procs --watch

The interface updates automatically every second, highlighting fluctuating CPU and memory statistics in real time.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.