Linux中的进程管理
1.进程
程序是为了完成某种任务而设计的软件,而进程是运行中的程序。一个运行的程序,可以有多个进程。
2.进程状态
R(Running):该程序正在运行中
S(Sleep):该程序目前正在休眠的状态,但是可以被唤醒
D不可以被唤醒的睡眠状态,通常进程可能在等待I/O的情况
T:停止状态,可能是在工作控制或出错的状态
Z:僵尸的状态,程序已经终止但是却无法移除到内存外
3.查看进程
1).图形方式查看
gnome-system-monitor
2).进程查看命令
命令 | 命令功能 |
---|---|
ps -A | 查看所有进程 |
ps -a | 显示当前环境中的所有进程(不包括环境信息) |
ps -u | 显示进程用户信息 |
ps a | 显示当前环境中所有进程(包括环境信息) |
ps x | 显示所有必须有终端的进程 |
ps f | 显示进程在使用中的父子关系 |
ps e | 显示进程在使用中环境所调用的的扩展信息 |
ps 常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树
显示进程指定信息
命令 | 命令功能 |
---|---|
ps -o comm | 显示进程名称 |
ps -o user | 显示进程所有人 |
ps -o group | 显示进程所有组 |
ps -o %cpu | 显示进程cpu使用率 |
ps -o %mem | 显示进程内存使用率 |
ps -o pid | 显示进程id |
ps -o nice | 显示进程优先级 |
stat中显示的信息
S ##进程状态
l ##内存有指定锁定空间
N ##优先级低
< ##优先级高
+## 前台运行
s ##顶级进程
4.进程排序
ps ax - -sort= +%cpu|-%cpu ##进程cpu使用率排序显示
ps ax - -sort= +%mem|-%mem ##进程内存使用率排序显示
注:加号表示从少到多排序,减号表示从多到少排序
5.进程的优先级
1).优先级范围
进程的优先级范围为-20~19(数值越小,进程的优先级越高)
2).进程的优先级查看
ps -l ##查看进程的优先级
6. 环境中进程的前后台调用
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入到后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
7.进程信号
1).常用的进程信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强制结束单个进程(不能被阻塞)
15 ##正常关闭进程(可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某一个进程(不能被阻塞)
20 ##把进程打入到后台(可以被阻塞)
man 7 signal ##查看信号的详细信息
2).
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
8.进程的动态监控top
输入top命令后,会进入进程监控界面
命令 | 命令功能 |
---|---|
s | 调整刷新的频率 |
c | cpu负载的排序 |
h | 查看帮助 |
u | 查看指定用户的进程 |
k | 对指定进程发起信号 |
m | 内存使用量排序 |
q | 退出 |