procs
Display information about running processes
TLDR
List all processes showing the PID, user, CPU usage, memory usage, and the command which started them
List all processes as a tree
List information about processes, if the commands which started them contain Zsh
List information about all processes sorted by CPU time in [a]scending or [d]escending order
List information about processes with either a PID, command, or user containing 41 or firefox
List information about processes with both PID 41 and a command or user containing zsh
SYNOPSIS
procs [OPTIONS] [PID | NAME_PATTERN]
PARAMETERS
--tree
Display processes in a tree structure. Also available as -t.
--sort
Sort processes by a specific column (e.g., "pid", "cpu", "mem", "comm"). Also available as -s
--watch
Enable watch mode, refreshing output periodically like top. Also available as -w.
--filter
Filter processes by PID or name pattern. Also available as -f
--group
Group processes by command name. Also available as -g.
--color
Control color output (e.g., "always", "auto", "never"). Also available as -C
--theme
Apply a predefined color theme (e.g., "dracula", "dark").
--no-header
Suppress the header row in the output.
--pid
Show only processes matching the given PID. Also available as -p
--name
Show only processes matching the given name pattern. Also available as -n
--format
Specify output columns using a comma-separated list of column names. Also available as -F
--hide-thread
Hide kernel threads from the process list.
--width
Set the screen width for column truncation.
DESCRIPTION
procs is a modern, user-friendly replacement for traditional Linux process viewers like ps and top. Built with Rust, it offers a visually enhanced and interactive experience for monitoring system processes. Key features include a colorful, customizable output, a process tree view, smart searching/filtering, and real-time watching capabilities. Unlike older tools, procs aims to provide more relevant information by default, such as CPU usage per core, GPU utilization, and network activity, presented in an easy-to-read format. It supports various output formats, theming, and allows for sorting and grouping processes, making it highly adaptable for both quick checks and detailed system analysis. Its intuitive interface and rich feature set streamline process management and troubleshooting on Unix-like systems.
CAVEATS
procs is not a standard utility distributed with all Linux distributions and generally requires manual installation. While feature-rich, it might not provide the same level of granular customization for obscure process attributes as ps for highly specialized scripting needs. Its interactive features are best experienced in a compatible terminal emulator.
INTERACTIVE MODE & KEYBINDINGS
When run without the --watch option, procs enters an interactive mode enabling dynamic sorting, filtering, and searching directly within the terminal using keyboard shortcuts. This allows for quick exploration of process data without re-executing the command.
CONFIGURATION FILE
procs supports persistent configuration via a TOML file (e.g., ~/.config/procs/config.toml). Users can customize default columns, sorting order, themes, and other preferences, allowing for a highly personalized experience across sessions.
HISTORY
procs emerged as a modern alternative to traditional process monitoring tools, written in Rust. Its development aimed to address the shortcomings of older commands by integrating modern UI/UX principles, better default information, and interactive features. It quickly gained traction in the open-source community for its performance, visual appeal, and ease of use, becoming a popular choice for developers and system administrators seeking an upgrade to their command-line toolkit.