浅谈Linux5:了解进程
进程
百度百科说……进程就是……
一句话总结:进程就是CPU未完成的工作。
小提纲:
1:ps命令显示进程信息并定制显示格式
2:进程的优先级
3:进程的前后台调用
4:进程信号
1:ps命令显示进程信息并定制显示格式
ps
a ##关于当前环境的所有进程
x| -A ##所有进程
f ##显示进程从属关系
e ##显示进程调用环境工具的详细信息
l ##长列表显示进程的详细信息
u ##显示进程的用户信息
-a ##显示shell前台运行命令的进程,但不包含shell本身
定制显示内容:ps ax -o
例如:ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat ##指定显示进程的某些信息
%cpu ##显示进程cpu负载
%mem ##显示进程内存负载
user ##进程用户
group ##进程组
comm ##进程名称
nice ##进程优先级
pid ##进程的id
stat ##进程状态
显示信息中stat解读
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##*进程
除此之外,我们可能某些情况下还需要根据进程的某一信息进行排序,比如,按照cpu占用率降序排列啦。
ps ax -o %cpu,comm --sort <+|-%cpu >
+ ##正序
- ##倒序
%cpu ##cpu负载排序
2:进程的优先级
进程的优先级范围一般是:-20~19
查看优先级命令:ps ax -o nice
当然这么查的时候你会由衷的惊叹……这什么鬼……
配合其他参数使用更佳哦……不然要这一排数字有个卵用……
老生常谈的语句……我们当然也可以改变进程的优先级啦啦啦啦……用 renice命令实现
比如要把上图中的systemd的优先级改变成10
renice -n 10 1 (10代表要改变的优先级,1代表进程的pid)
实现!!!!!!
*-*
最后一点相关的小知识是,我们可以指定某个优先级开启进程。比如,用优先级5打开vim
nice -n 优先级数字 进程名称
再打开一个shell,查看vim的优先级
(假如搞不清改变进程优先级和用指定优先级开启进程,可以自己模拟实验一下,评论区解答~~~)
3:进程的前后台调用
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
举个小例子剩下的自己练习哈
执行gedit后,开启了gedit编辑面板,但是后台被占用,无法执行其他任务
将进程打入后台,gedit编辑面板未关闭,后台可执行其他命令。
4:进程信号
常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程 (可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程 (不能被阻塞)
20 ##把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
运用方式:kill -信号 进程pid
常用kill -9 来杀死进程
上班迟到了啊喂!!!!!!!有时间再详细研究研究信号……欠着……morning*~*