目录
一、进程管理
1、进程简介
(1) 什么是进程:
进程是已启动的可执行程序,有以下组成部分:
●已分配内存的地址空间
●安全属性(所有权凭据和特权)
●程序代码的一个或多个执行线程
●进程状态
(2) 什么是进程的生命周期:
进程的生命周期是指一个进程从创建到终止所经历的不同状态和阶段。父进程复制自己的地址空间(fork)创建一个新的子进程结构,具备一定的父级资源,直到运行完毕,退出系统。
(3) 什么是进程状态:
R - run:表示进程正在运行或处于就绪状态。
T - stop:表示进程被暂停或停止。
S - sleep:表示进程正在睡眠或等待某个特定的事件发生。
Z - zombie:已经终止但尚未被其父进程回收的进程。
2、进程管理
(1) 静态查看进程 ps aux
① 静态查看进程
命令参数说明:
ps a (all):显示现行终端机下的所有程序
ps u (user):以用户为主的格式来显示程序状况
ps x:列出当前用户正在运行的进程,而不仅限于在终端中执行的进程
进程字段含义:
USER:运行进程的用户
PID:进程ID (唯一,管理员可通过进程 ID 结束进程)
%CPU:占用cpu
%MEM:占用内存
TTY:进程运行的终端
STAT:进程状态
START:进程启动的时间
TIME:进程占用 CPU 的时间
COMMAND:进程文件、进程名
② 进程排序
语法:ps aux --sort + 列名
例:以CPU占比排列(减号表示降序排列)
ps aux --sort %cpu
ps aux --sort -%cpu
③ 进程的父子关系
语法:ps -ef
PID:程序号
PPID:父系程序号
如果有程序无法结束,可以结束它的父系程序从而结束该程序
④ 自定义显示字段
语法:px axo + 字段名
(2) 动态查看进程 top
ps 无法实时查看进程信息,而 top 可以实现实时查看进程的信息
第一行:程序名,系统时间,CPU 占用率
第二行:任务数
第三行:CPU占用率
第四行:内存空间
第五行:交换分区(存放常用数据)
① top 常用内部指令:
M:按内存的使用排序
C:按CPU使用排序
N:按PID大小排序
<:向前翻
>:向后翻
z:设置彩色
② top 技巧:
top -d +数字:设置刷新时间(例:top -d 3 每三秒刷新一次)
top -p +进程号:查看指定进程
(3) 使用信号控制进程
kill -l :列出所有支持的信号
1) SIGNUP:重新加载配置(kill -1 + PID)
2) SIGINT:键盘中断(Ctrl + C)
3) SIGQUIT:键盘退出(Ctrl + \)
9)SIGNKILL:强制终止
15)SIGTERM:正常终止
创建两个文件,并在不同的终端打开文件
发送信号15 和信号 9,观察两个终端程序状况
(4) 进程优先级 nice
① 简介:
系统中的两个优先级:在 top 中显示的优先级有两个,PR 值和 nice 值
NI:实际 nice 值
PR(+20):将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39(可调整的范围:-20 到 39)
② 优先级范围和特性
nice 值越大:表示优先级越低,例如 +19
nice 值越小:表示优先级越高,例如 -20
③ 查看进程的nice级别
命令:ps axo pid,command,nice --sort=- nice
④ 启动具有不同 nice 级别的进程
默认情况下启动进程时,通常会继承父进程的 nice 级别,默认为0
⑤ 更改现有进程的 nice 级别
修改nice值:renice
PR 是在系统中的优先级 ;NI 是手动调整的优先级。
二、作业控制 jobs
一个命令行功能,也叫后台运行。
foreground(fg):前台进程,在终端中运行的命令。占领终端。
background(bg):后台进程,没有控制终端。
运行后台程序:&(把命令放到后台,不占领终端)
fg + 序号 :将进程调到前台
消灭后台进程:kill + %
kill 1 和 kill %1 的区别:前者终止 PID 为 1 的进程;后者杀死作业序号为 1 的后台程序。
三、虚拟文件系统 proc
虚拟文件系统:采集服务器自身内核、进程运行的状态信息
查看 CPU 信息:/proc/cpuinfo
查看内存信息:/proc/meminfo
查看内核信息:/proc/cmdline