跳转至

Procs 进程查看器

为什么要学 Procs

Procs 是 ps 命令的现代替代品,用 Rust 编写。它提供了彩色输出、自动列宽、关键词高亮、树形进程视图、Docker 容器进程显示等功能。相比 ps aux 的密集文本输出,Procs 的可读性更强,且支持按各种条件搜索和过滤进程。


核心概念

概念白话解释用途
Process进程运行中的程序实例
PID进程 ID唯一标识一个进程
Tree View树形视图显示父子进程关系
Watch Mode监控模式实时刷新进程信息

安装配置

# macOS
brew install procs

# Cargo
cargo install procs

# 配置文件(可选)
# ~/.config/procs/config.toml

快速上手

# 显示所有进程
procs

# 搜索进程(关键词高亮)
procs python
procs nginx

# 树形视图
procs --tree

# 监控模式(类似 top)
procs --watch

# 按 PID 查看
procs --pid 1234

# 按 CPU/内存排序
procs --sortd cpu
procs --sortd mem

# 显示特定列
procs --insert tcp    # 显示 TCP 连接
procs --insert read   # 显示磁盘读取
procs --insert write  # 显示磁盘写入

自定义配置

# ~/.config/procs/config.toml
[[columns]]
kind = "Pid"
style = "BrightYellow"

[[columns]]
kind = "User"
style = "BrightGreen"

[[columns]]
kind = "Cpu"
style = "BrightRed"

[[columns]]
kind = "Mem"
style = "BrightCyan"

[[columns]]
kind = "Command"
style = "BrightWhite"

[style]
header = "BrightWhite|Bold"
unit = "BrightWhite"

[docker]
path = "unix:///var/run/docker.sock"

进阶用法

Docker 容器进程

# 显示容器信息(需要 Docker 运行)
procs --docker

# 在列中显示容器名
procs --insert docker

搜索技巧

# 按名称搜索
procs nginx

# 按用户搜索
procs --or user=root

# 逻辑组合
procs --and "cpu>10" "mem>100"

输出控制

# 不截断命令行
procs --full

# 分页
procs | less -R

# 与其他工具配合
procs python | head -5

常见问题

Q: 与 htop/btop 的区别?

  • Procsps 的替代,一次性输出
  • htop/btoptop 的替代,实时交互式监控

Q: Docker 进程显示不了?

确保当前用户有 Docker socket 权限或使用 sudo procs --docker


参考资源

  • GitHub:https://github.com/dalance/procs
  • 配置参考:https://github.com/dalance/procs#configuration