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.
What it is
procs is a modern replacement for the Unix ps command, written in Rust. It displays running processes with colorized output, human-readable formatting, built-in tree view, column filters, Docker container integration, and TCP/UDP port display. It aims to make process inspection faster and more readable than the default ps output.
This tool is for developers, sysadmins, and anyone who frequently inspects running processes. If you find yourself piping ps output through grep and awk to find what you need, procs simplifies that workflow.
How it saves time or tokens
procs eliminates the need for complex ps + grep + awk pipelines. A single procs command with keyword search replaces multi-step filtering. The colorized output makes it easier to scan for the information you need. Docker integration shows container names alongside process information, saving you from cross-referencing docker ps output.
How to use
- Install procs via your package manager.
- Run
procsto see all processes with enhanced formatting. - Use keyword search to filter processes.
- Use flags for tree view, Docker integration, or specific columns.
# Install on macOS
brew install procs
# Install on Linux
cargo install procs
# Show all processes
procs
# Search for a specific process
procs node
# Tree view
procs --tree
# Show processes using a specific port
procs --tcp
Example
Comparing ps and procs output:
# Traditional ps approach to find node processes
ps aux | grep node | grep -v grep
# With procs - one command, colorized, readable
procs node
# Output includes PID, User, CPU%, MEM%, command,
# and optionally Docker container name and TCP ports
# Show process tree for a specific PID
procs --tree 1234
# Watch mode - refresh every 2 seconds
procs --watch 2 node
Related on TokRepo
- Automation tools — More CLI productivity tools
- DevOps tools — System monitoring and administration
Common pitfalls
- procs requires terminal color support. Redirecting output to a file or pipe strips colors unless you use
--color always. - Some columns (like Docker container names) require elevated permissions or Docker socket access.
- The default column set differs from ps. If scripts depend on specific ps output format, procs is not a drop-in replacement for scripted use.
- On Linux, reading TCP/UDP port information requires root or CAP_NET_ADMIN capability.
- procs does not replace ps for POSIX-compliant scripting. Use it as an interactive tool, keep ps for scripts.
Frequently Asked Questions
procs adds colorized output, human-readable formatting, built-in keyword search, tree view, Docker integration, and TCP/UDP port display. It is designed for interactive use rather than scripting. ps remains better for POSIX-compliant scripts.
Yes. procs runs on macOS, Linux, and Windows. Some features like Docker integration and TCP port display depend on OS-specific APIs and may behave slightly differently across platforms.
Yes. procs supports a configuration file where you can define custom column sets, colors, and sort order. The config file is typically located at ~/.config/procs/config.toml.
Yes. When Docker is running, procs can show which container each process belongs to. This eliminates the need to cross-reference ps and docker ps output. Docker socket access is required.
procs is designed for interactive inspection rather than continuous monitoring. For production monitoring, use tools like htop, Prometheus node_exporter, or Datadog. procs is best for quick debugging sessions.
Citations (3)
- procs GitHub— procs is a modern replacement for ps written in Rust
- Linux man pages - ps— Process inspection and monitoring on Unix systems
- Rust CLI Working Group— Rust CLI tools for system administration
Related on TokRepo
Discussion
Related Assets
Conda — Cross-Platform Package and Environment Manager
Install, update, and manage packages and isolated environments for Python, R, C/C++, and hundreds of other languages from a single tool.
Sphinx — Python Documentation Generator
Generate professional documentation from reStructuredText and Markdown with cross-references, API autodoc, and multiple output formats.
Neutralinojs — Lightweight Cross-Platform Desktop Apps
Build desktop applications with HTML, CSS, and JavaScript using a tiny native runtime instead of bundling Chromium.