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 退出