ps 查看系统进程快照¶
ps 命令用于查看当前系统进程的快照,使用该命令可以确定有哪些进程正在运行和运行的状态、哪些进程占用了过多的资源等等。
如果想实时更新查看系统的状态,可以使用 top 命令 ,同时可以搭配 kill 命令 随时暂停、终止进程的运行。
命令格式:¶
ps [OPTION]...
常用选项:¶
ps 命令支持三种不用的语法格式:
- UNIX 风格,选项前必须有“-”连字符
- BSD 风格,选项前不能有“-”连字符
- GNU 风格,选项前有两个“-”连字符
-e
显示所有的进程
-C
查找指定的进程,只能实现完全匹配查找,并不实用
-f
显示 UID, PPIP, C 与 STIME 栏
-l
显示详细的进程状态
-u <UID>
显示属于该用户的进程状况,默认为当前用户。
使用实例:¶
# 默认输出(几乎没用)
[Linux]$ ps
PID TTY TIME CMD
6172 pts/0 00:00:00 bash
7017 pts/0 00:00:00 ps
# 查找指定进程
[Linux]$ ps -f -C gvim
UID PID PPID C STIME TTY TIME CMD
glenn 6977 1279 1 15:33 ? 00:00:08 gvim -f new.txt
# 查看所有进程
[Linux]$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 09:30 ? 00:00:04 /sbin/init
root 2 0 0 09:30 ? 00:00:00 [kthreadd]
root 3 2 0 09:30 ? 00:00:00 [rcu_gp]
...
# 查看详细的进程使用状态
[Linux]$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 164068 10516 ? Ss 09:30 0:04 /sbin/init
root 3 0.0 0.0 0 0 ? I< 09:30 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 09:30 0:00 [rcu_par_gp]
...
输出说明:
- USER: 属主用户 ID
- PID: 进程 id
- %CPU: 该进程使用的 CPU 百分比
- %MEM: 该进程使用的物理内存百分比
- VSZ: 该进程使用的虚拟内存量
- RSS: 该进程使用的固定内存量
- TTY: 该进程在那个终端机上面运作,若与终端机无关,则显示 ?
- STAT: 该进程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 睡眠状态
- T: 暂停执行
- Z: 不存在但暂时无法消除(zombie 疆尸进程)
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或 I/O)
- START: 进程被触发的时间
- TIME: 进程执行的时间
- COMMAND: 进程执行的指令