Linux命令之ps
1.ps介绍
linux命令ps是用来查看系统进程的命令。类似与Windows任务管理器中查看到的进程的功能。
2.ps用法
ps [参数]
参数 | 说明 |
-A | 显示所有的进程数据 |
-a | 显示跟当前终端关联的所有进程 |
-u | 基于用户的格式显示 |
-x | 显示所有进程,不以终端机来区分 |
-e | 显示所有进程 |
-f | 显示完整格式输出 |
-l | 显示终端进程信息 |
-j | 工作格式 |
-p <pid> | 显示指定进程的信息 |
-o | 根据进程状态进行过滤 |
3.实例
3.1ps -ef |head -n 5
UID | PID | PPID | C | STIME | TTY | TIME | CMD |
启动进程的用户ID | 进程的ID | 进程的父进程ID | 进程中生命周期中的CPU利用率 | 进程启动时的系统时间 | 在哪个终端上运行 -? 指与终端无关 tty1 指运行在tty1终端上,E.g:tty1-tty6 | 运行进程一共累计占用的CPU时间 | 启动的程序名称 |
3.2 ps -aux |head -n 5
USER | PID | %CPU | %MEM | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
启动进程的用户 | 进程的ID | 进程占用CPU的百分比 | 进程占用内存的百分比 | 进程占用虚拟内存的大小;等价于VIRT (top命令输出) | 进程占用物理内存的大小; 等价于RES (top命令输出) | 在哪个终端上运行 -? 指与终端无关 tty1 指运行在tty1终端上,E.g:tty1-tty6 | 进程的状态 | 该进程被触发启动的时间 | 该进程实际使用CPU运作的时间 | 该进程的实际指令 |
STAT指进程的状态,包括:
R:正在运行中
S:静止状态
T:暂定执行
D:无法中断的休眠状态 (通常 IO 的进程)
Z:僵尸进程
STAT进程状态后s、<等含义:
<:进程运行在高优先级上
N:表示进程运行在低优先级上
L:表示进程有页面锁定在内存中
s:表示进程是控制进程
l:表示进程是多线程的
+:表示当前进程运行在前台
3.3ps -l |head -n 5
F:程序的flag(标签)
4: 表示此进程的权限为 root
1: 子进程只能复制,没有执行权限
0:表示此进程有执行权限
S:进程状态
R:正在运行中
S:静止状态
T:暂定执行
D:无法中断的休眠状态 (通常 IO 的进程)
Z:僵尸进程
UID:启动进程的用户ID
PID:进程的ID
PPID:进程占用CPU的百分比
C:进程中生命周期中的CPU利用率
PRI:优先级,数值越小,优先级越高
NI:优先级,数值越小,优先级越高
ADDR:这个是 kernel function,指出该程序在内存的哪个部分。如果是个 running的程序,一般就是 "-"
SZ:进程用掉的内存
WCHAN:进程是否在运行中,若为 - 表示正在运作
TTY:在哪个终端上运行
-? 指与终端无关
tty1 指运行在tty1终端上,E.g:tty1-tty6
TIME:使用掉CPU的时间
CMD:进程触发程序指令
3.4显示指定进程的信息
命令:
ps -ef |grep sshd
ps -p PID
3.5显示进程属性结构(有树形结构就显示;没有就不显示)
命令:
ps f
3.6按CPU使用率大小排序显示
命令:
ps -eo pid,pcpu,args --sort=-pmem |head -n 5
3.7按MEM使用率大小排序显示
命令:
ps -eo pid,pmem,args --sort=-pmem |head -n 5