Linux之系统进程及控制

一、什么是进程?

进程就是系统未完成并且正在进行的工作。

二、查看系统进程

1、图形方式查看

gnome-system-monitor

图示:
在这里插入图片描述

2、进程查看命令

	ps	-A	##所有进程
		-a	##在当前环境中运行的进程,不包含环境信息
		-u	##显示进程用户信息
		 a	##在当前环境中运行的进程
		 x	##列出系统中所有运行包含tty输出设备
		 f  ##显示进程的父子关系
		 e	##显示进程的详细信息(系统资源的调用)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ps常用组合:

ps aux		##显示系统中所有进程并显示进程用户

在这里插入图片描述

ps ef		##显示进程详细信息并显示进程父子关系

在这里插入图片描述

ps ax		##显示当前系统中的所有进程

在这里插入图片描述

pstree		##显示当前系统的进程树

在这里插入图片描述
那么,我们如何根据自己的需要让每个进程显示指定的信息呢?别急,接下来就告诉你!

ps -o   xxx	    ##显示进程的指定信息
		comm	##进程名称
		user	##进程所有人
		group	##进程所有组
		%cpu	##进程cpu使用率
		%mem	##进程内存使用率
		pid	    ##进程id
		nice	##进程优先级

示例:

ps -o comm,user,pid,%cpu

在这里插入图片描述

3、进程排序

ps ax --sort=
			  +%cpu|-%cpu	##按cpu占用率从小到大|从大到小排序
			  +%mem|-%mem	##按内存使用率 从小到大排序|从大到小排序

示例:
在这里插入图片描述
在这里插入图片描述

4、在stat进程状态中显示的信息

S	##进程状态
l	##内存中有锁定空间
N	##优先级低
<	##优先级高
+	##前台运行
s	##顶级进程

示例:

此进程的进程状态为高优先级的顶级进程,并且内存中有锁定空间。
在这里插入图片描述
此进程的进程状态为低优先级进程的顶级进程,并且内存中有锁定空间。

有锁定空间的进程可以理解为该进程进入后台后,其他进程不能占用该进程使用的内存。

5、进程优先级

优先级概念:

  • CPU资源分配的先后顺序,就是进程的优先权
  • 优先权高的进程有优先执行的权利。配置进程优先权对多任务环境的Linux很有用,可以改善系统性能。
  • 还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统的整体性能。

1、进程的优先级范围

-20~19
数字越小,进程优先级越高。

2、优先级的查看

ps ax -o pid,nice,comm

在这里插入图片描述

3、指定某个优先级开启进程

nice -n 优先级数字 进程名称

示例:

nice -n -5 vim &	##开启vim并且指定程序优先级为-5

在这里插入图片描述
**注意:**nice指定优先级只对设定后新开启的进程有效,对设定前开启的进程无效。

4、改变进程优先级

renice -n 优先级数字 进程pid

示例:
准备工作:

ps a -o nice,comm,pid

在这里插入图片描述

renice -n -5 2910              ##改变2910进程优先级为-5

在这里插入图片描述
注意:
nice与renice不同在于前者只对新产生的进程有效,而后者也可以改变已存在进程的优先级。

6、环境中进程的前后台调用

jobs			##查看被打入环境后台的进程
ctrl+z			##把占用终端的进程打入暂停打入后台
fg jobsnum		##把后台进程调回前台
bg jobsnum		##把后台暂停的进程运行
comm &			##让命令直接在后台运行

在这里插入图片描述
在这里插入图片描述

7、进程信号

1、常用的信号等级

1		##进程重新加载配置

进程重新加载配置,指的是在进程不停止的情况下重新加载进程的配置文件信息,类似于游戏里面的“不停服更新“

2		##删除进程在内存中的数据
3		##删除鼠标在内存中的数据

解释:
对于删除进程在内存中的数据,如果该进程有锁定空间,那么删除进程在内存中的数据,相当于关掉这个进程。如果进程没有锁定空间,那么只是释放了该进程原占有的内存。

9		##强行结束单个进程(不能被阻塞)
15		##正常关闭进程	 (可能会被阻塞)	

分析:kill -9 为强行结束单个进程,不管该进程的优先级高不高。而kill -15 是正常关闭进程,一般对第三方软件可以正常关闭,但是对于优先级较高的进程,则可能被阻塞,不能关闭。
示例;
准备工作
在这里插入图片描述
在这里插入图片描述分析:用kill -15 关掉一个shell被阻塞了,shell并没有关掉。
在这里插入图片描述
分析:用kill -15关掉firefox成功了。
在这里插入图片描述
分析:用kill -15 关掉一个shell被阻塞了,用kill -9 成功杀死了这个shell进程。

18		##运行暂停的进程
19		##暂停某个进程	 (不能被阻塞)
20		##把进程打入后台 (打入后台同时会暂停) (可以被阻塞)

在这里插入图片描述
在这里插入图片描述
更多的进程信号等级可以查看:
man 7 signal ##查看信号详细信息

killall -信号	进程名字

在这里插入图片描述

pkill	-u student -信号

在这里插入图片描述

8、进程的动态监控

top
	1	##显示cpu每个核的负载
	s	##调整刷新频率
	c	##cpu负载排序
	m	##内存使用量排序
	h	##查看帮助
	u	##查看指定用户进程
	k	##对指定进程发起信号
	q	##退出

显示cpu每个核的负载:
在这里插入图片描述

调整刷新频率:
在这里插入图片描述
按cpu负载排序:
在这里插入图片描述
按内存使用量排序:
在这里插入图片描述
查看帮助:
在这里插入图片描述

查看指定用户进程:
在这里插入图片描述
在这里插入图片描述
对指定进程发起信号:
在这里插入图片描述
输入要控制进程的pid
在这里插入图片描述
输入信号等级,图为9。结束vim进程。

猜你喜欢

转载自blog.csdn.net/qq_41830712/article/details/86376826