我的 ps 命令手册页
我的 arp 命令手册页ps命令同时遵循3种不同风格的参数:
1 UNIX options, which may be grouped and must be preceded by a dash.
2 BSD options, which may be grouped and must not be used with a dash.
3 GNU long options, which are preceded by two dashes.
其实大家最关心的无非是哪些参数加“-”,而哪些不加,以及加与不加有何不同。
为此我特意阅读了ps的Man Page并逐项测试,结果如下:
1 通用参数
1.1 加“-”
A 显示所有进程,同参数“e”
e 显示所有进程
f 增加UID,PPID,C,STIME,CMD项
F (在参数f的基础上)进一步增加SZ,RSS,PSR项
j 增加PGID,SID项
L 增加LWP项(线程信息)
N 显示除ps命令以外的所有进程
T 显示与终端有关的进程
H 以缩进方式将结果排列为树状图
1.2 不加“-”
f 用 ”\_“符号将结果排列为树状图
j 增加PGID,SID项
l 长格式输出
L 显示所有可显示的项对比
T 增加STAT项
H 增加STAT项,并显示包括参数的命令行
r 显示运行中的进程
ww 避免详细参数被截断
x 显示无控制终端的进程
2 筛选参数
-C 命令
-g session 或effective group name(EGID)
-G real group ID (RGID)或组名
p PID
-p PID
-u effective user ID(EUID)或用户名
U effective user ID(EUID)或用户名
-U real user ID(RUID)或用户名
-s session ID(SID)
t tty
-t tty
3 输出解析
USER 进程的属主
PID 进程的ID
PPID 父进程
%CPU 进程占用的CPU百分比
%MEM 占用内存的百分比
NI 进程的NICE值,数值大,表示较少占用CPU时间
VSZ 进程虚拟大小
RSS 驻留中页的数量
TTY 终端ID
STAT 进程状态(有以下几种)
- D 无法中断的休眠状态(通常 IO 的进程)
- R 正在运行可中在队列中可过行的
- S 处于休眠状态
- T 停止或被追踪
- W 进入内存交换(从内核2.6开始无效)
- X 死掉的进程(从来没见过)
- Z 僵尸进程
- < 优先级高的进程
- N 优先级较低的进程
- L 有些页被锁进内存
- s 进程的领导者(在它之下有子进程)
- l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
- + 位于后台的进程组
WCHAN 正在等待的进程资源
START 启动进程的时间
TIME 进程消耗CPU的时间
COMMAND(或CMD) 命令的名称和参数
