Linux 进程管理
ps查看当前系统进程状态
1)基本语法
ps aux | grep xxx 功能描述:查看系统中所有进程
ps -ef | grep xxx 功能描述:可以查看子父进程之间的关系
2)选项说明
选项 | 功能 |
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程 包括没有终端的进程 |
u | 面向用户友好的现实风格 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 现实完整格式的进程列表 |
3)功能说明
①ps aux显示信息说明
USER:该进程是由哪个用户产生的
PID:进程的ID号
%CPU 占用的CPU资源的百分比 占用越高 进程越耗费资源
%MEN 占用的内存使用率 占用越高 进程越耗费资源
VSZ Virtual Memory Size 占用虚拟内存大小 单位KB
RSS Resident Set Size 占用实际内存大小 单位KB
TYY 该进程是在哪个终端中运行的 对于centos来说 tty1是图形化终端
tty2-tty6是本地的字符界面终端 pts/0-255代表虚拟终端
STAT: 进程状态
R:运行状态
S: 睡眠状态
T: 暂停执行
Z: 不存在但暂时无法消除(僵尸状态)
s:包含子进程
l:多线程
+:前台显示
START:该进程的启动时间
TIME:该进程占用CPU的运算时间 注意不是系统时间
COMMAND:产生此进程的命令名
②ps -ef显示信息说明
UID: 该进程执行的用户id
PID: 进程id
PPID: 该进程的父级进程id,如果一个程序的父级进程找不到,该程序的
进程被称为僵尸进程
C: cpu用于计算执行优先级的因子 数值越大 表明进程是cpu密集型运算 执行
优先级会降低 数值越小 表明进程是I/O密集型运算 执行优先级会提高
STIME: 进程的启动时间
TTY: (完整的终端名称)终端设备,发起该进程的设备识别符号,如果显示‘ ?’
表示该进程并不是由终端发起
TIME: 进程的执行时间
CMD: 启动进程所用的命令和参数
4)经验和技巧
如果想查看进程的CPU占用率和内存占用率 可以使用aux
如果想查看进程和父进程ID可以使用ef
kill终止进程
①基本语法
kill [选项]进程号 (通过进程号来杀死进程)
kill 进程名称 (通过进程名称杀死进程 也支持通配符 这在系统因负载过大而
变得很慢时有用)
②选项说明
-9 表示强迫进程立即停止
③案例实操
Ⅰ杀死浏览器进程 kill -9 5102
Ⅱ 通过进程名杀死进程 killall firefox
查看进程树
①基本语法
pstree [选项]
②选项说明
-p 显示进程的PID
-u 显示进程的所属用户
③案例实操
Ⅰ显示进程PID pstree -p
Ⅱ 显示进程所属用户 pstree -u
top实时监控系统进程状态
①基本语法
top[选项]
②选项说明
-d 指定top命令每隔几秒更新 默认是3秒在top命令的交互模式当中可以执行的命令
-i 使top不显示任何闲置或者僵尸进程
-p 通过指定监控进程ID来仅仅监控某个进程的状态
③操作说明
P 以CPU使用率排序 默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top
netstat显示网络状态和端口占用信息
①基本语法
netstat -anp | grep 进程号 功能描述:查看该进程网络信息
netstat -nlp | grep 端口号 功能描述:查看网络端口号占用情况
②选项说明
选项 | 功能 |
-a | 显示所有正在监听(listen)和未监听的套接字(socket) |
-n | 拒绝显示别名,能显示数字的全部转化为数字 |
-l | 仅列出在监听的服务状态 |
-p | 表示显示哪个进程在调用 |