1.进程定义
cpu未完成的工作
2.进程状态
R(running)该程序正在运行
S(sleep)该程序正在睡眠状态(idle),但可以被唤醒(signal)
D不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况
T停止状态(stop),可能是在工作状态(背景暂停)或除错(traced)状态
Z(zombie)僵尸状态,程序已经终止但却无法被移除至内存外
3.ps命令
ps ##静态查看与当前shell有关的进程信息
ps a ##关于当前环境的所有进程,包括当前shell的配置
ps -a ##显示shell前台运行命令的进程,但不包含shell本身
ps x ##所有进程,通常与a一起使用可列出比较完整的信息
ps -A ##所有进程
ps f ##显示进程从属关系
ps e ##显示进程调用环境工具的详细信息
ps l ##长列表显示进程的详细信息
ps u ##显示进程的用户信息
注意a -a的区别
ps -o %cpu,%mem,user,group,comm,nice,pid,stat ##指定显示进程的某些信息
ps -o%cpu,%mem,user,group,comm,nice,pid,stat ##显示所有进程的指定信息
%cpu ##显示进程cpu负载
%mem ##显示进程内存负载
user ##进程用户
group ##进程组
comm ##进程名称
nice ##进程优先级
pid ##进程的id
stat ##进程状态
ps ax -o *** --sort ##按照进程信息排序
+ ##正序
- ##倒序
%cpu ##cpu负载排序
%mem ##内存负载
显示cpu信息,按cpu升序排列
显示cpu信息,按cpu降序排列
显示内存信息,按cpu降序排列
显示前五行
4.进程优先级
1)进程的优先级范围
-20~19
2)改变进程优先级
reince -n 优先级数字 进程pid
renice -n -5 1806 改变1806进程的优先级为-5
改变watch的优先级,监控的进程的优先级会一起改变
3)优先级查看
ps ax -o pid,nice,comm
4)指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 vim & ##开启vim并且指定程序优先级为-5
5)stat中显示的信息
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
5.工作管理
1)
命令 & ##job在后台运行
jobs ##查看当前bash的job
jobs -l ##查看当前bash的job,并显示该job的状态与PID
ctrl+z ##已经打开的进程打入后台,并且不运行
fg *** ##把后台进程调回前台
bg *** ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
2)进程信号
常用信号等级:
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程 (可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程 (不能被阻塞)
20 ##把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
3)发起信号
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
6.top命令
top ##动态监控进程,查看进程信息
s ##修改进程刷新间隔时间
m ##根据内存占有率进行排序
c ##根据 cpu 占有率进行排序
u ##后面输入用户名 , 用来查看该用户发起的所有进程
k ##后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来给某个进程发起一信号
q ##退出进程查看界面
h ##显示 top 命令的帮助