一、进程与程序
程序:放置在储存媒体中,为实体文件的型态存在
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存单元一个识别(pid),可以说,进程就是一个正在运行的程序。
二、查看进程状态
系统的状态主要有
R(running):正在运行
S(sleep):处于休眠状态(idle),可以被唤醒(signal)
D:不可被唤醒,通常进程可能在等待I/O的情况
T(stop):停止状态,可能时工作控制(背景暂停)或除籍(traced)状态
Z(zombie):僵尸状态,程序已经终止但无法被移除至内存外
1、图形方式查看
输入指令gnome-system-monitor
我们还可以任意调加需要查看的内容。
2、ps:静态查看进程信息
ps -参数 -----查看所需内容
-A:所有的process均显示,与-e具有同样的效用
-a:当前环境不与terminal有关的所有进程
在ps中显示了shell进程,而在ps -a中没有
-u:有效使用者相关的process
x :可以列出有终端进程的信息
a :显示当前环境中运行的进程,包含环境信息
f :显示进程的父子关系
e :显示进程的详细信息
3、参数的常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示父子进程
ps ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树
4、显示进程指定信息
ps -o comm ##进程名称
ps -o user ##进程所有人
ps -o group ##进程所有组
ps -o %cpu ##进程cpu使用率
ps -o %mem ##进程内存使用率
ps -o pid ##进程id
ps -o nice ##进程优先级
5、进程排序
ps --sort=+%cpu|-%cpu(按cpu使用率排序,-为倒叙)
ps --sort=+%mem|-%mem(按内存使用率排序)
stat中显示的信息
S:进程状态
l:内存中有锁定空间
N:优先级低
<:优先级高
+:前台运行
s:顶级进程
三、进程优先级
进程优先级范围
nice -n +数字 +进程名 ##修改进程的默认优先级
renice -n +数字 +进程id ##修改进程的优先级
-20~19(数字越小,优先级越高)
四、进程的前后台调用
crtl+Z ##把占用终端的进程打入后他
jobs ##查看被打入后台的进程
fg +进程序列号 ##将后台进程调回前台
bg +进程序列号 ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
五、进程信号
man 7 signal ##查看信号详细信息
1)进程信号的使用
kill -信号 进程pid
killall -信号 进程名字(对该进程名的所有进程进行操作)
打开多个vim进程
一次将所有的vim程序结束。
pkill -信号 -u 用户名 (操作该用户下的所有进程)
2)常用信号等级
1 ##进程重新加载信号
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强制结束单个进程(不能被阻塞)
15 ##正常关闭进程
18 ##运行暂停的进程
19 ##暂停某个进程(不能被阻塞)
20 ##把进程打入后台(可以被阻塞)
六、进程的动态监控
1、top
1 ##显示每个cpu每个核的负载
s##调整刷新频率
填入相应的数字,就可以修改刷新频率
c ##cpu负载排序
m ##内存使用量排列
h ##查看帮助
u ##查看指定用户进程(以root为例)
k ##对指定进程发起信号
q ##退出