Linux procps-ng 包详解
简介
procps-ng
包是用于监视和管理 Linux
上的进程和系统性能的实用程序集合。它与 /proc
文件系统交互以检索实时系统信息。procps-ng
中的实用程序包括 ps
、top
、free
、uptime
等命令。
安装 procps-ng
使用包管理工具安装
Debian/Ubuntu
sudo apt update
sudo apt install procps
RHEL/CentOS
sudo yum install procps-ng
Fedora
sudo dnf install procps-ng
拉取源码从源码构建
git clone https://gitlab.com/procps-ng/procps.git
cd procps
./autogen.sh
./configure
make
sudo make install
# 验证是否安装成功,输入套件包含的命令,如:
ps --version
procps-ng
包含的命令
-
free
:报告系统中空闲和使用的内存容量(包括物理和交换内存) -
pgrep
:根据名称和其它属性查找进程 -
pidof
:报告指定程序的PID
-
pkill
:根据名称和其它属性给进程发送信号 -
pmap
:报告指定进程的内存映射情况 -
ps
:列出正在运行的进程 -
pwdx
:报告进程的当前工作目录 -
slabtop
:实时显示内核slab
缓存信息 -
sysctl
:运行时修改内核参数 -
tload
:打印当前系统平均负荷曲线图 -
top
:显示最CPU
密集型进程列表;它可以实时地连续查看处理器活动 -
uptime
:报告系统运行时长、登录用户数目以及系统平均负荷 -
vmstat
:报告虚拟内存统计信息、给出关于进程、内存、分页、块输入/输出(IO
)、陷阱以及CPU
活动的信息 -
w
:显示当前登录的用户、以及登录地点和时间 -
watch
:重复运行指定命令,显示输出的第一个整屏;这允许用户查看随着时间的输出变化 -
libprocps
:包含该软件包大部分程序使用的函数
常用的命令示例
ps
- Process Status
显示有关正在运行的进程的信息
-
ps aux
:显示所有进程的详细信息 -
ps -e
:显示所有进程 -
ps -ef
:显示具有父/子关系的完整格式列表 -
ps aux | grep "nginx"
:使用grep
过滤进程
top
- 实时进程监控
实时显示系统任务,包括 CPU
和内存使用情况。
-
k
:通过输入其PID
来终止进程 -
q
:退出top
界面 -
h
:显示可用的命令信息 -
1
:显示每个核心的CPU
使用率 -
top -p 1234
:指定PID
free
- 显示内存使用情况
显示有关内存使用情况的信息
-
-h
:显示成人类可读的格式 -
-m
:以兆字节显示内存 -
-g
:以千兆字节显示内存
uptime
- 显示系统正常运行时间
显示系统运行的时间以及平均负载
示例输出:
12:00:01 up 3 days, 4:53, 3 users, load average: 0.11, 0.25, 0.30
kill
- 终止进程
向进程发送信号以终止它。
-
-9
:强制终止一个进程 -
-15
:正常(平滑)终止一个进程
示例:
kill -9 1234
pkill
- 按进程名称终止
按名称终止进程
示例:
pkill nginx
pgrep
- 按名称查找进程
列出与名称匹配的进程的 PID
示例:
pgrep sshd
vmstat
- 虚拟内存统计
显示系统性能指标
vmstat 5 10
# 每 5 秒更新一次指标,共 10 次
pidof
- 查找进程 ID
通过名称返回正在运行的进程的 PID
示例:
pidof sshd
watch
- 间隔运行命令
按照指定的间隔重复运行命令并显示输出
-
-n <seconds>
:指定间隔(默认为 2 秒) -
-d
:突出显示更新之间的变化
示例:
watch -n 5 df -h
# -n 5 是选项
# df -h 是运行的命令
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)