1.what is 进程
程序(program)放置在储存媒体中(如硬盘、光盘、软盘、磁盘等),为实体的型态存在。
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予内存内的单元一个识别码(PID),也就是说进程就是一个正在运行的程序。
2.进程都有哪些状态:
R(running):该程序正在运行中
S(sleep):表示该程序正在睡眠状态(idle),但可以被唤醒(signal)
D 表示不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况T表示停止状态
T表示停止状态(sleep),可能是在工作控制(背景暂停)或出错(traced)状态
Z(zombie):表示僵尸状态,程序已经终止但却无法被移除至内存外
3.怎样查看进程:
1:图形方式查看
gonme-system-monitor
2.进程查看命令: ps
-A | 所有进程 |
---|---|
-a | 在当前环境中运行的进程,不包含环境信息 |
-u | 显示进程用户信息 |
x | 列出系统中所有运行包含tty输出设备 |
a | 在当前环境中运行的进程 |
f | 显示进程的父子关系 |
e | 显示进程的详细信息(系统资源的调用) |
ps aux ##显示系统中所有进程并显示进程用户信息
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树
4.显示进程指定信息:
ps -o **** ##显示进程的指定信息
ps -o user ##进程所有人
ps -o group ##进程所有组
ps -o %cpu ##进程cpu使用率
ps -o %mem ##进程内存使用率
ps -o pid ##进程id
ps -o nice ##进程优先级
示例:显示进程的名称,所有人,进程id,cpu使用率和优先级
对进程的排序:
ps ax --sort=+%cpu (升序,+可以省略) / -%cpu(降序) ##按cpu使用率排序
ps ax --sort=+%mem / -%mem(降序) ##按内存使用率排序
示例:列出系统中内存使用量排在前5的进程的pid
5.在stat进程状态中显示的信息:
S | 进程状态 |
---|---|
l | 内存中有锁定空间 |
N | 优先级低 |
< | 优先级高 |
6.进程优先级
什么是优先级:CPU资源分配的先后顺序,就是进程的优先权
优先权高的进程有优先执行的权利。配置进程优先权对多任务环境的Linux很有用,可以改善系统性能。
还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统的整体性能。
进程的优先级范围:
-20~19 数字越小,进程优先级越高。
优先级的查看:
ps ax -o pid,nice,comm
指定某个优先级开启进程
nice -n 优先级数字 进程名称
示例:
改变进程优先级:renice
renice -n 优先级数字 进程pid
7.环境中进程的前后台调用:
jobs | 查看被打入环境后台的进程 |
---|---|
ctrl+z | 把占用终端的进程打入后台 |
comm & | 让命令直接在后台运行 |
fg jobsnum | 把后台进程调回前台 |
bg jobsnum | 把后台暂停的进程运行 |
8.进程信号:
1、常用的信号等级
1 | 进程重新加载配置(是指在不关闭进程的情况下,类似游戏里的不停服更新) |
---|---|
2 | 删除进程在内存中的数据 |
3 | 删除鼠标在内存中的数据 |
9 | 强行结束单个进程(不能被阻塞) |
15 | 正常关闭进程 (可能会被阻塞) |
18 | 运行暂停的进程 |
19 | 暂停某个进程 (不能被阻塞) |
20 | 把进程打入后台 (可以被阻塞) |
man 7 signal | 查看信号详细信息 |
killall -信号 进程名字
pkill -u student -信号
9.进程的动态监控:top
l ##显示cpu每个核的负载
s ##调整刷新频率
c ##cpu负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
h 查看帮助
q 退出