目录
一、概述
二、常用指令
1.ps查看当前系统进程状态
2.kill 终止进程
3.pstree 查看进程树
4.top 实时监控系统进程状态
5.netstat 监控网络状态
一、概述
(1)进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。在LINUX中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号。
(2)每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。
(3)每个进程都可能以两种方式存在,前台与后台。所谓前台进程就是用户目前的屏幕上可以进行操作的,后台进程则是实际操作的,但由于是屏幕上无法看到的进程,通常使用后台方式执行[sshd、crond]。
(4)一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。
二、常用指令
1.ps查看当前系统进程状态
ps aux | grep xxx // 查看系统中所有进程
ps -ef | grep xxx // 可以查看子父进程之间的关系
选项说明
选项 | 功能 |
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程,包括没有终端的进程 |
u | 面向用户友好的显示 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 显示完整格式的进程列表 |
特别的:
如果想查看进程的CPU占用率和内存占用率,可以使用aux。
如果想查看进程的父进程ID可以使用-ef。
# ps aux 如下图所示:
ps aux 显示说明
USER | 该进程是由哪个用户产生的 |
PID | 进程的ID号 |
%CPU | 该进程占用CPU资源的百分比,占用越高,进程越耗费资源 |
%MEN | 该进程占用物理内存的百分比,占用越高,进程越消耗资源 |
VSZ | 该进程占用虚拟内存的大小,单位KB |
RSS | 该进程占用实际物理内存的大小,单位KB |
TTY | 该进程是在哪个终端中运行的。 |
STAT | 进程状态。常见的状态有:R:运行状态 S:睡眠状态 T:暂停状态 Z:僵尸状态 s:包含子进程 l:多线程 +:前台显示 |
START | 该进程的启动时间 |
TIME | 该进程占用CPU的运算时间,注意不是系统时间 |
COMMAND | 产生此进程的命令名 |
# ps -ef 如下图所示:
ps -ef 显示说明
UID | 用户ID |
PID | 进程ID |
PPID | 父进程ID |
C | CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高 |
STIME | 进程启动的时间 |
TTY | 完整的终端名称 |
TIME | CPU时间 |
CMD | 启动进程所用的命令和参数 |
2.kill 终止进程
kill [选项] 进程号 // 通过进程号杀死进程
killall 进程名称 // 通过进程名称杀死进程,也支持通配符
选项说明
选项 | 功能 |
-9 | 表示强迫进程立即停止 |
3.pstree 查看进程树
pstree [选项]
选项说明
选项 | 功能 |
-p | 显示进程PID |
-u | 显示进程的所属用户 |
4.top 实时监控系统进程状态
top [选项]
选项说明
选项 | 功能 |
-d 秒数 | 指定top命令每隔几秒更新。默认3秒 |
-i | 使top不显示任何闲置或者僵死进程 |
-p | 通过指定监控进程ID来仅仅监控某个进程的状态 |
操作说明
操作 | 功能 |
P | 以CPU使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以PID排序 |
q | 退出top |
top输出结果
显示说明(前五行)
内容 | 说明 | |
第一行信息为任务队列信息 | 11:52:17 | 系统当前时间 |
up 2:52 | 系统运行时间 | |
1 user | 当前登录的用户数 | |
load average :16.01,16.03,15.22 | 系统在之前1分钟,5分钟,15分钟的平均负载。 | |
第二行为进程信息 | 234 total | 系统中的进程总数 |
3 running | 正在运行的进程数 | |
231 sleeping | 睡眠的进程 | |
0 stopped | 正在停止的进程 | |
0 zombie | 僵尸进程,如果不是0 ,需要手工检查僵尸进程 | |
第三行为CPU信息 | 98.7 us | 用户模式占用的CPU百分比 |
1.3 sy | 系统模式占用的CPU百分比 | |
0.0 ni | 改变过优先级的用户进程占用的CPU百分比 | |
0.0 id | 空闲CPU的CPU百分比 | |
0.0 wa | 等待输入/输出的进程的占用CPU百分比 | |
0.0 hi | 硬中断请求服务占用的CPU百分比 | |
0.0 si | 软中断请求服务占用的CPU百分比 | |
0.0 st | 虚拟时间百分比,就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比 | |
第四行为物理内存信息 | 125806.3 total | 物理内存的总量,单位KB |
103724.5 free | 空闲的物理内存数量 | |
7803.7 used | 已经使用的物理内存数量 | |
14278.1 buff/cache | 作为缓冲的内存数量 | |
第五行为交换分区信息 | 0.0 total | 交换分区(虚拟内存)的总大小 |
0.0 free | 已经使用的交换分区的大小 | |
0.0 used | 空闲交换分区的大小 | |
116800.2 avail Men | 作为缓存的交换分区的大小 |
5.netstat 监控网络状态
netstat [选项] // 查看系统网络情况
netstat -anp | grep 进程号 // 查看该进程网络信息
netstat -nlp | grep 端口号 // 查看网络端口号占用情况
选项说明
选项 | 功能 |
-a | 显示所有正在监听(listen)和未监听的套接字 |
-n | 拒绝显示别名,能显示数字的全部转化成数字 |
-l | 仅列出在监听的服务状态 |
-p | 表示显示哪个进程在调用 |