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

106 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
```