一、什么是进程
进程就是系统未完成并且正在进行的工作
二、进程状态
R(running) ##该程序正在运行
S(Sleep) ##进程正在睡眠状态(idle),但可以被唤醒(signal)
D ##不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。
T ##停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态;
Z(Zombio) ##僵尸状态,程序已经被终止但却无法被移除至内存外
三、查看进程
1.图形方式查看
gnome-system-monitor
2.进程查看命令
###1.
ps -A ##所有进程
-a ##在当前环境中运行的程序,不包含环境信息
-u ##显示进程用户信息
a ##在当前环境中运行的进程
x ##列出系统中所有运行包含tty输出设备
f ##显示进程的父子关系
e ##显示进程的详细信息(系统资源的调用)
2. ps常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树
进程树可以显示所有进程的父子关系
3. 显示进程指示信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级
2.进程排序
ps ax --sort=
+%cpu|-%cpu ##cpu负载排序
+%mem|-%mem ##内存负载排序
“+”:正序
“-”:倒序
按照内存负载倒序排列
ps ax -o %mem,comm --sort=-%mem
测试
抓取系统中内存使用量排在前5的进程pid
ps ax -o pid,comm --sort=-%mem |head -n 6 | tail -n 5
stat中显示的信息
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
ps ax -o pid,comm,stat
3.进程优先级
1.进程的优先级范围
-20~19
2.优先级查看
ps ax -o pid ,nice,comm
3.指定某个优先级开启进程
nice -n 优先数字 进程名称
nice -n -5 vim & ##开启vim并且指定程序优先级为-5
4.改变程序优先级
renice -n 优先级数字 进程名称
renice -n -5 1234 ##改变进程1234的优先级为-5
截图
4.环境中进程的前后台调用
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
5.进程信号
1.常用信号等级
1 | ##进程重新加载配置 |
---|---|
2 | ##删除进程在内存中的数据 |
3 | ##删除鼠标在内存中的数据(ctrl+ \) |
9 | ##强行结束单个进程(kill -9 pid )(不能被阻塞) |
15 | ##正常关闭进程(可能会被阻塞) |
18 | ##运行暂停的程序 |
19 | ##暂停某个进程(不能被阻塞) |
20 | ##把进程打入后台(可以被阻塞) |
man 7 signal | ##查看信号详细信息 |
使用方法:
1.kill -信号 进程pid
示例:
使用 ps -ax |grep firefox
选取进程中有firefox的
打开firefox后使用kill -15
关闭进程,被阻塞,使用kill -9
时进程被强行结束。
2.killall -信号 名字
示例:
使用watch date 产生进程
直接使用killall -9 watch
强行结束进程
3.pkill -u student -信号
示例:
强行关闭student的进程
6.进程的动态监控
top
使用top命令后可以实时动态监控进程,监控时使用规定的按键可以查看到想要的信息
使用按键 | 功能 |
---|---|
1 | ##显示cpu整个核的负载 |
s | ##调整刷新频率 |
c | ##cpu负载排序 |
m | ##内存使用量排序 |
h | ##查看帮助 |
u | ##查看指定用户进程 |
k | ##对指定进程发起信号 |
q | ##退出 |