PS命令(Process Status)是Linux系统中用于查看进程信息的强大工具。它可以显示当前运行的进程状态,是系统管理和故障排查的重要命令。
ps [options]
-e
或 -A
: 显示所有进程-a
: 显示除会话引导进程外的所有进程-d
: 显示除会话引导进程外的所有进程(与-a类似)-f
: 完整格式显示(Full-format)-u
: 以用户为主的格式显示-l
: 长格式显示-j
: 以作业格式显示-H
: 显示进程层次结构(树状)--forest
: 以ASCII艺术形式显示进程树-p PID
: 显示指定PID的进程-C cmd
: 显示指定命令名的进程-U user
: 显示指定用户的进程-G group
: 显示指定组的进程显示当前终端所有进程
ps
显示系统中所有进程
ps -e
ps -A
完整格式显示所有进程
ps -ef
以用户格式显示所有进程
ps -aux
显示进程树
ps -ef --forest
查看特定用户的进程
ps -u username
查看特定命令的进程
ps -C sshd
查看特定PID的进程
ps -p 1234
使用ps -ef
或ps aux
时常见的列:
UID
/USER
: 进程所有者PID
: 进程IDPPID
: 父进程ID%CPU
: CPU使用率%MEM
: 内存使用率VSZ
: 虚拟内存大小(KB)RSS
: 常驻内存大小(KB)TTY
: 终端关联STAT
: 进程状态
R
: 运行中S
: 休眠中D
: 不可中断的休眠Z
: 僵尸进程T
: 停止或被追踪<
: 高优先级N
: 低优先级s
: 会话引导进程l
: 多线程+
: 前台进程组START
: 进程启动时间TIME
: CPU使用时间COMMAND
: 执行的命令结合grep过滤进程
ps -ef | grep nginx
按CPU或内存排序
ps aux --sort=-%cpu | head -10 # CPU使用率最高的10个进程
ps aux --sort=-%mem | head -10 # 内存使用率最高的10个进程
显示线程信息
ps -eLf
自定义输出格式
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
显示进程环境变量
ps e -p PID
PS命令是Linux系统管理的基础工具,熟练掌握其用法可以大大提高系统管理和故障排查的效率。