Linux命令:ps

用途

查看系统中的进程状态,英文全称 process status

语法格式

ps [参数]

参数及作用

参数 作用
-a 显示所有进程(包括其他用户的进程)
-A 显示所有程序
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
-c 显示每个程序真正的指令名称,而不包含路径
-C<指令名称> 指定执行指令的名称,并列出该指令的程序的状况
-d 显示所有程序,但不包括阶段作业管理员的程序
-e 列出程序时,显示每个程序所使用的环境变量
-f 显示UID,PPIP,C与STIME栏位
f 用ASCII字符显示树状结构,表达程序间的相互关系
g 显示现行终端机下的所有程序,包括所属组的程序
-G <群组识别码> 列出属于改群组的程序的状况
h 不显示标题列
-H 显示树状结构,表示程序间的相互关系
-j 采用工作控制的格式显示程序状况
-l 采用详细的格式来显示程序状况
L 列出栏位的相关信息
-m 显示所有的执行绪
n 以数字来表示 USER 和 WCHAN 栏位
-N 显示所有的程序,除了执行ps指令终端机下的程序外
-p <程序识别码> 指定程序识别码,并列出该程序的状况
r 只列出现行终端机正在执行中的程序
-s <阶段作业> 列出隶属改阶段作业的程序的状况
s 采用程序信号的格式显示程序状况
S 列出程序时,包括已中断的子程序资料
-t <终端机编号> 列出属于改终端机的程序的状况
-T 显示现行中单击下的所有程序
u 以用户为主的格式来显示程序状况
-U <用户识别码> 列出属于该用户的程序的状况
U <用户名称> 列出属于该用户的程序的状况
v 采用虚拟内存的格式显示程序状况
-V或V 显示版本信息
-w或w 采用宽阔的格式来显示程序状况
x 显示所有程序,不以终端来区分
X 采用旧式的Linux i386登录格式显示程序状况
-y 配合选项“-l”使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位
--cols <每列字符> 设置每列显示的最大字符数
--headers 重复显示标题列
--help 在线帮助
--info 显示排错信息
--lines <显示列数> 设置显示画面的列数

ps aux 进程信息项说明

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
进程的所有者 进程ID号 运算器占用率 内存占用率 虚拟内存使用量(单位KB) 占用的固定内存量(单位KB) 所在终端 进程状态 被启动的时间 实际使用CPU的时间 命令名称与参数
root 1 0.0 0.4 244644 9660 ? Ss 05:10 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
root 2 0.0 0.0 0 0 ? S 05:10 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 05:10 0:00 [rcu_gp]

ps -aux 等同于 ps aux ,因为linux 的短格式命令参数之间是可以合并的且ps命令可允许参数不加减号(-)。

进程状态

5种常见进程状态:

  • R(运行):进程正在运行或者在运行队列中等待
  • S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态
  • D(不可中断):进程不响应系统异步信号,即便使用kill命令也不能将其中断
  • Z(僵死):进程已经终止,但进程描述符依然存在,直到父进程调用 wait4()系统函数后将进程释放
  • T(停止):进程收到停止信号后停止运行
  • <(高优先级)
  • N(低优先级)
  • L(被锁进内存)
  • s(包含子进程)
  • l(多线程)