文章目录
- ps -axu各列的含义
 - ps -ef 各列的含义
 - 说了半天,怎么在命令中显示列名呢?
 - 更多的列字段含义怎么看
 - ps -a 和 ps -e的区别
 - 如何输出指定列
 
- 那么 `ps -efo pid,user` 这种命令对吗?
 
 ps命令的作用是查看进程。
常用参数:
 -e 查看所有进程(-A和-e作用相同)
 -f 格式化,可以理解为打印的列更多,更好看
常用的组合:
# 查看所有
ps -ef
# 这个可以查看占用的内存
ps -aux
ps -axu各列的含义
ps -aux的显示效果一般如下表:
USER  | PID  | %CPU  | %MEM  | VSZ  | RSS  | TTY  | STAT  | START  | TIME  | COMMAND  | 
root  | 28837  | 2.9  | 8.0  | 4755400  | 648340  | pts/2  | Sl  | 11:16  | 5:28  | 相关命令(可能会很长,不详述)  | 
列对应的意思:
 USER 用户
 PID 进程id(process id)
 CPU cpu使用率(%)
 MEM 内存占用率(%)
 VSZ 虚拟内存
 RSS 物理内存
 TTY
 STAT 启动时间
 TIME 已运行时间(用掉的cpu时间)
 COMMAND 运行命令/启动命令
ps -ef 各列的含义
UID  | PID  | PPID  | C  | STIME  | TTY  | TIME  | CMD  | 
root  | 28837  | 1  | 0  | 2019  | ?  | 00:00:03  | 相关命令(可能会很长,不详述)  | 
UID 用户ID
 PID 进程ID
 PPID 进程ID父进程ID
 C cpu使用率(%)
 STIME 启动时间
 TTY
 TIME 已运行时间(用掉的cpu时间)
 CMD 运行命令/启动命令
说了半天,怎么在命令中显示列名呢?
ps -ef | grep service 为什么不显示列 ?
 只能说水平太高了,直接到了应用层面了,换个简单的命令:
 ps -ef | head
 是不是发现第一行就是列名。
更多的列字段含义怎么看
man ps命令查看ps手册,
 键入 /FORMAT SPECIFIERS ,找到格式定义,这块内容就是列字段说明。
ps -a 和 ps -e的区别
我发现我真是无聊。
 手册描述为:
-a
Select all processes except both session leaders (see getsid(2)) and processes not associated with a terminal.
-e
Select all processes. Identical to -A.
也没看出区别在哪,把这2个都理解为都是选择全部基本就差不多了。
如何输出指定列
用-o即可。
 例如,只输出 pid,用户?
ps -eo pid,user
-o 后面跟要显示的列即可。
那么 ps -efo pid,user 这种命令对吗?
不对。
 因为-f是默认格式化输出,表示输出所有列。 -f和-o是不能一起使用的。
                










