computer_knowledge_notes/Software/进程管理/ps.md

2.2 KiB
Raw Blame History

ps(process status),用于列出系统中运行的进程。

ps [options] 	# 显示活动的进程

选项

选项可能有3种

  • UNIX的选项可以成组必须加一个破折号
  • BSD的选项可以成组不允许有破折号
  • GNU长选项不能成组带有两个破折号
简单进程选择
a		# 列出当前终端(tty)的所有进程与x联用列出所有进程
x		# 列出用户拥有的所有进程与a联用列出所有进程

-A或-e	# 列出全部进程  
-a		# 列出终端的全部进程但不包括session leaders  
-d		# 列出全部进程但不包括session leaders 
-N, --deselect	# 选择不满足条件的所有进程(取消选择)
通过列表选择进程
-g, --group <grplist>	# 通过有效组ID(EGID)或名称来选择进程
-G, --Group <grplist>	# 通过真实组ID(RGID)或名称来选择进程
p, -p, --pid <pidlist>	# 通过进程ID选择进程
U, -u, --user <userlist>	# 通过有效用户ID(EUID)或名称来选择进程。
-U, --User <userlist>		# 通过真实用户ID(RUID)或名称来选择进程。
输出格式控制
u		# 以面向用户的格式显示
o		# 等价于-o或--format
s		# 显示信号格式
v		# 显示虚拟内存格式

-f		# 显示全部格式的列表。通过与其它选项联用。
-F		# 比-f显示更多的信息
-j		# 作业格式
-l		# 长格式,常与-y一起使用
-o, --format <fmt>	# 用户自定义格式
-y		# 不显示flags显示rss来取代addr。只能与-l联用
output modifiers
e	# 命令之后显示环境
h	# 不显示header

-H	# 显示进程的层次(以树的方式)
显示线程
H		# 像显示进程一样显示线程
m, -m	# 在进程后显示线程
其它信息

进程状态码

D	不可中断的睡眠(一般是在进行IO)
R	运行中或可运行(在运行队列上)
S	可中断的睡眠(在等待一个事件)
T	被作业控制信号停止
t	在tracing的时候被调试器停止
W	分页(2.6内核之后已无效)
X	死亡(应该再也看不到了)
Z	僵尸进程

示例

# 查看所有进程(标准语法)
ps -e
ps -ef
ps -eF
ps -ely

# 查看所有进程(BSD语法)
ps ax
ps axu