-
什么是进程
进程是一个程序一次执行的过程,它和程序有本质区别。
程序:放置在存储媒体中(如磁盘,光盘,软盘,磁带),以实体文件的形态存在。
进程:程序被触发后,执行者权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统给与这个内存中的单元一个标识码(PID),可以说,进程就是一个正在运行中的程序。 -
进程状态
R(Running):该程序正在运行中:
S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal);
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况;
T(Stop):停止状态,可能是在工作控制或出错状态;
Z(Zomble):僵尸状态,程序已经终止但无法被移除之内存外; -
查看进程
- 图形方式查看
gnome-system-monitor
- 查看命令
ps :静态查看进程信息
ps -A ##显示所有进程。与-e具有相同效用
-a ##不包含环境信息的所有运行进程,
-u ##显示进程用户信息
a ##显示在当前环境中运行的程序
x ##列出系统中所有运行包含tty输出设备
f ##显示进程的父子关系
e ##显示进程的详细信息(系统的资源调用)
ps ax ##显示当前系统中的所有进程
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
- 显示进程指定信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级
-
进程排序
ps ax --sort=+%cpu|-%cpu +%mem|-%mem
例:
- 进程优先级
S ##进程状态
L ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
-
优先级范围
-20~19 (数字越小,级别越大) -
优先级查看
ps ax -o pid,nice,comm
-
改变进程优先级:
renice -n 优先级数字 进程id
例:renice -n -5 6574 ##改变6574进程的优先级为-5 -
指定某个优先级开启进程
nice -n 优先级数字 进程名字
例子:nice -n -5 vim & ##开启vim
- 环境中进程的前后台调用
在单一终端机接口下同时进行多个工作的管理行为。
jobs ##查看被打入环境后台的进程
ctrl+Z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
- 进程信号
常用进程信号的等级
1 进程重新加载配置
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9 强行结束单个进程(不可被阻塞)
15 正常关闭进程(可能会被阻塞)
18 运行暂停的程序
19 暂停某个进程(不能被阻塞)
20 把进程打入后台(可能被阻塞)
Man 7 signal 查看信号详细信息
发起信号
Kill -信号 进程id
Killall -信号 进程名字
Pkill -u student -信号
- 进程的动态监控
top:动态监控进程,查看进程信息
top l 显示CPU每个核的负载
s 调整刷新频率
c CPU负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号
q 退出