Linux常用命令学习笔记:ps

命令功能

ps命令用于显示当前进程的状态信息。它可以显示系统中正在运行的进程,包括进程 ID、CPU 使用率、内存使用情况、启动时间等详细信息,是系统管理和故障排查的重要工具。

基本语法

ps [选项]

常用选项

进程选择选项

选项说明
-A显示所有进程
-a显示所有终端上的进程,除了会话首进程
-e显示所有进程(同 -A)
-d显示所有进程,但不包括会话首进程
-N显示所有进程,但不包括指定条件的进程
-T显示当前终端上的所有进程
-r只显示正在运行的进程
-x显示没有控制终端的进程

输出格式控制选项

选项说明
-f显示完整格式的进程信息
-F显示额外完整格式的进程信息
-l显示长格式的进程信息
-j显示作业格式的进程信息
-o自定义输出格式
-u显示指定用户的进程
-p显示指定进程 ID 的进程
-C显示指定命令名的进程

其他选项

选项说明
--sort按指定字段排序输出
--forest以树状结构显示进程层次关系
--headers重复显示表头
--no-headers不显示表头

使用示例

显示当前终端进程

ps

显示所有进程

ps -A
ps -e

显示完整格式的进程信息

ps -ef

显示长格式的进程信息

ps -l

显示指定用户的进程

ps -u username

显示指定进程 ID 的进程

ps -p 1234

显示指定命令名的进程

ps -C nginx

以树状结构显示进程

ps -ef --forest

自定义输出格式

ps -eo pid,user,comm,%cpu,%mem

按 CPU 使用率排序

ps -eo pid,user,comm,%cpu --sort=-%cpu

输出字段说明

字段说明
PID进程 ID
PPID父进程 ID
USER进程所有者
%CPUCPU 使用率
%MEM内存使用率
VSZ虚拟内存大小(KB)
RSS物理内存大小(KB)
TTY进程所在的终端
STAT进程状态
START进程启动时间
TIME进程占用 CPU 时间
COMMAND启动进程的命令

进程状态说明

状态说明
R运行中或可运行
S可中断的睡眠状态
D不可中断的睡眠状态
T停止状态
Z僵尸进程
X死掉的进程
<高优先级
N低优先级
L有页面锁定在内存中
s会话首进程
l多线程进程
+位于前台进程组

注意事项

  1. 权限要求:普通用户只能查看自己的进程,root 用户可以查看所有进程
  2. 实时性ps显示的是执行命令时的进程快照,不是实时监控
  3. 输出格式:不同选项组合会产生不同的输出格式,建议使用 -ef-aux查看完整信息
  4. 进程管理ps只用于查看进程,要管理进程需要使用 killpkill等命令

相关命令

  • top:实时显示进程状态
  • htop:增强版的 top 命令
  • pstree:以树状结构显示进程
  • kill:终止进程
  • pkill:按名称终止进程
  • pgrep:按名称查找进程

实用技巧

查找特定进程

ps -ef | grep nginx

查看进程的完整命令行

ps -p 1234 -o cmd

查看进程的环境变量

ps -p 1234 -o environ

查看进程打开的文件

lsof -p 1234

监控进程资源使用

watch -n 1 'ps -p 1234 -o pid,user,%cpu,%mem,cmd'

ps命令是 Linux 系统管理中最基础且最常用的命令之一,熟练掌握其用法对于系统运维和故障排查至关重要。


作 者:南烛
链 接:https://www.itnotes.top/archives/610
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇