linux进程管理

1.什么是进程
程序(program)放置在储存媒体中(如硬盘、光盘、软盘、磁盘等),为实体的型态存在。
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予内存内的单元一个识别码(PID),也就是说进程就是一个正在运行的程序。
2.进程的状态
R(running):该程序正在运行中
S(sleep):表示该程序正在睡眠状态(idle),但可以被唤醒(signal)
D 表示不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况
T表示停止状态(sleep),可能是在工作控制(背景暂停)或出错(traced)状态
Z(zombie):表示僵尸状态,程序已经终止但却无法被移除至内存外
3.如何查看进程
1)图形方式查看
gonme-system-monitor
2)进程查看命令
ps命令:查看进程信息
具体用法如下:
-A:将所有的process均显示出来,与-e具有相同的效用,显示所有进程
-a:不与terminal有关的所有process,不包含环境信息
-u:有效使用者(effective user)相关的process,显示进程用户信息
x:通常与a这个参数一起使用,可列出较完整信息,列出系统中所有运行包含tty输出设备
l:列出较长、校详细的PID信息
f:显示进程的父子关系
e:显示进程的详细信息(系统资源的调用)
3)ps常用的组合
ps aux ##显示系统中所有进程并显示进程用户
在这里插入图片描述
ps ef ##显示进程详细信息并显示进程父子关系
在这里插入图片描述
ps ax ##显示当前系统中的所有进程
在这里插入图片描述
pstree ##显示当前系统的进程树
在这里插入图片描述
4)显示进程指定信息
ps -o xxx ##显示进程的指定信息
comm ## 进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先集
示例如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.进程排序
ps ax --sort= +%cpu|-%cpu ##显示cpu使用率
+%mem|-%mem ##显示内存
示例如下
在这里插入图片描述
在这里插入图片描述 在这里插入图片描述在这里插入图片描述 5.stat中显示的信息
s ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
示例:使用px ax 查看系统进程
在这里插入图片描述
##测试:抓取系统中内存使用量排在前5的进程的pid
示例如下:
[root@localhost Desktop]# ps ax -o pid --sort=-%mem |head -n 6 |tail -n 5
在这里插入图片描述
6.进程优先级
在进程中,优先级高的先执行,系统资源也优先分配给进程优先级高的进程,不仅如此在同一调度周期中,优先级高的进程占用的时间也比优先级低的长。
1)进程的优先级范围
-20~19
2)优先级查看
[root@localhost Desktop]# ps ax -o pid,nice,comm,uservi
示例:在这里插入图片描述
在这里插入图片描述
3)指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n 5 vim & ##开启vim并指定程序优先级为5
示例:
在这里插入图片描述
可以看到PID为4138的vim程序优先级为5
4)改变进程优先级
renice -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806进程的优先级为-5
示例:
在这里插入图片描述
在这里插入图片描述
可以看到此进程优先级前后的变化
7.环境中进程的前后台调用
jobs ##查看被打入环境后台的进程
示例:
在这里插入图片描述
可以看到 被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
示例:
在这里插入图片描述
在这里插入图片描述
打开vim时会占用终端,可以使用ctrl+c将此进程打入后台
fg jobsnum 序号 ##把后台进程调用前台
示例:
在这里插入图片描述
在这里插入图片描述
bg jobsnum ##把后台暂停的进程运行
示例:
在这里插入图片描述
comm & ##让命令直接在后台运行
示例:
在这里插入图片描述
8.进程信号
1).常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程 (可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程 (不能被阻塞)
20 ##把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
示例如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以看到我们利用kill -19 来关闭gedit后gedit无法输入信息
在这里插入图片描述
在这里插入图片描述
我们可以看到利用kill -15 来关闭shell时被阻塞了,因为shell是一个重要的进程,如果要强行将其关闭我们可以利用kill -9 将其关闭。
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
在这里插入图片描述
当一个用户有多个进程时我们可以指定用户关掉其相关进程
9.进程的动态监控
1.top
l ##显示cpu每个核的负载
s ##调整刷新频率
c ##cpu负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
示例:
按s 调整刷新频率,我们可以将刷新时间从三秒调整为两秒甚至更短
在这里插入图片描述
按 h查看 帮助
在这里插入图片描述

按u查看指定用户进程,我们以查看student为例
在这里插入图片描述
我们还可以按k对指定进程发出信号,类似的用法还有很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值