Linux的ps命令

Linux系统里面会运行很多程序,我们想要查看系统里面运行了哪些程序;可以利用 ps 命令来获取某一时刻的系统程序快照;也可以用 top 命令来获取程序的动态情况。

命令简介

命令格式:

1
ps [options]

参数列表:

1
2
3
4
-A : 所有的进程都显示出来
-a : 与终端没有关联的所有进程
-u : 有效使用者相关的进程
x : 通常与a这个参数一起使用,可列出比较完整信息。

应用举例

ps 命令参数比较复杂,直接背两个组合命令会更好一点。

「ps -l」 用来查询自己的 bash 终端里面都有哪些进程。

如下图展示了 ps -l 命令的输出:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
S: 代表这个程序的状态(STAT),主要的状态有:
1.R 该程序正在运行
2.S 该程序目前正在睡眠状态,但可以被唤醒
3.D 不可被唤醒的睡眠状态
4.T 停止状态,可能是在工作控制或除错状态
5.Z 僵尸状态,程序已经终止但却无法被移除至内存外
UID/PID/PPID: 代表该进程的所有者/进程的ID/此进程的父进程ID
C: 代表CPU使用率,单位为百分比
PRI/NI:Priority/Nice的缩写,代表此程序被CPU所执行的优先级,数值越小代表该程序越快被CPU执行。
ADDR/SZ/WCHAN: 都与内存有关,ADDR是指出该程序在内存的哪个部分,如果是running的程序,一般会显示「-」 SZ代表此程序用掉多少内存 WCHAN表示目前程序是否运行,运行用「-」表示。
TTY: 登入者的终端机位置,若为远程登录则使用动态终端接口(pts/n)
TIME: 使用掉的CPU时间,注意,是此程序实际花费CPU运行的时间,而不是系统时间
CMD: 就是command的缩写,此进程的触发指令

另外一条命令 ps aux 观察系统所有程序

如下图:



命令 ps aux 显示的项目中,各字段的意义为:

1
2
3
4
5
6
7
8
9
10
11
USER: 该进程属于哪个使用者
PID: 进程ID
%CPU: 该进程使用掉的CPU资源百分比
%MEM: 该进程所占用的物理内存百分比
VSZ: 该进程使用掉的虚拟内存量
RSS: 该进程占用的固定内存量
TTY: 该进程是在哪个终端机上面运行,若与终端机无关则显示?
STAT: 该进程目前的状态
START: 该进程触发启动的时间
TIME: 该实际使用CPU运行时间
COMMAND: 就是command的缩写,此进程的触发指令

这两条命令都是系统某一时刻的进程快照,如果想看到进程的实时状态,可以使用 top 命令

坚持原创技术分享,您的支持将鼓励我继续创作!攒点碎银娶媳妇!