进程管理
一、进程
1. 进程概念
进程是一个具有一定独立功能的程序,在一个数据集上的一次动态执行的过程。进程是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程一般由程序,数据和进程控制块三部分组成。
- 程序用于描述进程要完成的功能,是控制进程执行的指令集;
- 数据是程序在执行时所需要的数据和工作区;
- 程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志。
二、进程查看
1. ps与pstree
ps命令用来查看当前进程的快照信息
用法:ps [ 选项 ]
-u 以用户为中心组织进程状态信息显示
-a 与终端相关的进程
-x 与终端无关的进程
-e 显示所有进程
-f 显示完整格式程序信息
ps -aux

输出格式说明
字段 |
描述 |
USER |
用户名 |
%CPU |
进程占用的CPU百分比 |
%MEM |
占用内存的百分比 |
VSZ |
该进程使用的虚拟內存量(KB) |
RSS |
该进程占用的固定內存量(KB)(驻留中页的数量) |
STAT |
进程的状态 |
START |
该进程被触发启动时间 |
TIME |
该进程实际使用CPU运行的时间 |
状态码说明
状态码 |
描述 |
D |
无法中断的休眠状态(通常 IO 的进程); |
R |
正在运行可中在队列中可过行的; |
S |
处于休眠状态; |
T |
停止或被追踪; |
W |
进入内存交换 (从内核2.6开始无效); |
X |
死掉的进程 (基本很少见); |
Z |
僵尸进程; |
< |
优先级高的进程 |
N |
优先级较低的进程 |
L |
有些页被锁进内存; |
s |
进程的领导者(在它之下有子进程); |
l |
多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); |
+ |
位于后台的进程组; |
ps -ef

输出格式说明
字段 |
说明 |
UID |
用户ID、但输出的是用户名 |
PID |
进程的ID |
PPID |
父进程ID |
C |
进程占用CPU的百分比 |
STIME |
进程启动到现在的时间 |
TTY |
该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程 |
CMD |
命令的名称和参数 |
pstree命令以树形结构显示当前进程信息
-a 显示每个程序的完整指令,包含路径,参数或是常驻服务的标示
-h 列出树状图时,特别标明现在执行的程序
-n 用程序识别码排序。预设是以程序名称来排序
-p 显示程序识别码

2. top与htop
top命令实时显示进程CPU利用率

htop命令交互式实时显示进程信息

3. netstat
- 查看网卡列表
netstat -i

- 查看路由表
netstat -rn

- 查看端口
netstat -tunlp
-t 仅显示tcp相关选项
-u 仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名

