我是靠谱客的博主 鲜艳黑夜,最近开发中收集的这篇文章主要介绍进程与进程管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么是进程?

进程就是系统未完成并且正在进行的工作,通俗的来说,进程就是系统正在运行的程序。

2.查看系统中的进程

图形查看:

gnome-system-monitor

在这里插入图片描述
用这个命令可以直接在图形界面上查看进程。
任何一个进程都有它的PID这个就和我们的身份证号码一样,是独一无二的。
命令查看:
使用ps命令可以查看系统进程。

	ps -A			##查看所有进程

在这里插入图片描述

	ps -u		##显示进程用户信息

在这里插入图片描述

	ps a		##查看所有前台进程

在这里插入图片描述

	ps x	    ##查看所有后台进程

在这里插入图片描述

	ps f		##显示进程的父子关系

在这里插入图片描述

	ps e		##显示进程的详细信息(系统资源的调用)

在这里插入图片描述

ps常用组合:

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
进程树可以看到进程之间详细的父子关系。

显示进程的指定信息

	ps -o 	[参数] 		##显示进程指定信息
	参数:
		comm			##进程名称
	 	user			##进程所有者
		group			##进程所属组
	 	%cpu			##进程cpu使用率
	 	%mem			##进程内存使用情况
		pid				##进程pid
		nice			##进程优先级

查看进程名称,所有者:
在这里插入图片描述

使用ps -o加上相应的参数之间可以查看进程指定信息,要指定多个信息可以用逗号隔开。
在这里插入图片描述

进程排序

ps [参数] --sort = +%cpu | -%cpu
ps [参数] --sort = +%mem | -%mem

用上面的命令可以将进程排序,其中ps后的参数在上面已经讲到,这里不再重复。
在这里插入图片描述
可以看到,–sort=后可跟%cpu和%mem在前面的[+][-]表示递加递减的意思,如“–sort= -%cpu”表示进程按照cpu的使用率递减排序,“–sort= +%mem”则表示按照内存的使用情况递加排序。

显示stat中显示的信息

在查看进程信息的时候,我们会看到有个STSA,STAT表示进程状态,下面有很多参数,如S,<等,现在我们看看他们的含义。

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

使用ps ax查看系统进程:
在这里插入图片描述
我们看到[S]表示进程的状态;[l]表示内存有锁定空间,当内存的空间被锁定时,其他程序不可以使用之一片内存;[N]表示进程的优先级低;而[<]则刚好相反,表示进程的优先级高,关于优先级在下面会讲到;[+]表示在前台运行的进程,如用vim打开一个文件,此时vim在前台运行;s代表顶级进程。

进程的优先级

前面我们已经提到了进程的优先级,在进程中,优先级高的优先执行,同时系统资源优先分配,在同一个调度周期中,优先级高的进程占用的时间长些,而优先级低的进程占用的短些。

优先级的范围

-20 ~ 19

优先级的查看:

ps ax -o pid,nice,comm,user

在这里插入图片描述
使用nice参数可以查看进程优先级。
指定某个优先级开启进程

nice -n 优先级数字	进程名称
nice -n -4 vim &	##开启vim并指定进程优先级为-4

在这里插入图片描述
在这里插入图片描述
成功指定了进程的优先级为-4。

环境中进程的前后台调用

jobs  		##查看被打入环境后台的进程
ctrl+z		##把占用终端的进程打入后台
fg jobsnum	##把后台进程调回前台	   注:如果直接用fg那么默认调用有[+]的进程。
bg jobsnum	##把后台暂停的进程运行
命令 &		让命令直接在后台运行

在这里插入图片描述
使用jobs查看被打入后台的进程
在这里插入图片描述
使用ctrl + z可以把占用终端的进程打入后台,如使用vim时占用了终端,使用ctrl + z可以把vim这个进程打入后台。
在这里插入图片描述
现在后台有三个进程,可以使用fg加左边的数字把后台进程调回前台。
在这里插入图片描述
在这里插入图片描述
将vim调回前台
同时可以使用bg把后台暂停的进程运行。
在这里插入图片描述
在命令后加[&]可以让命令直接在后台运行。
在这里插入图片描述

进程信号

常用信号等级

1		##进程重新加载配置(不关闭进程重新加载配置文件)
2		##删除进程在内存中的数据
3  		##删除鼠标在内存中的数据
9		##强行结束单个进程(不能被阻塞)
15		##正常关闭进程 (可能会被阻塞)
18		##运行暂停的进程
19		##暂停某个进程(不能被阻塞)
20		##把进程打入后台(可以被阻塞)

进程有不同的信号等级,在这里我们来列举一些常用的,这些信号等级常常用在kill命令或killall命令中,在命令后加上相应的信号等级,就可以对进程进行相应操作。格式如下:

kill -信号	进程pid
killall -信号	进程名字
pkill	-u student -信号

在这里插入图片描述

kill -9 3024

在这里插入图片描述
使用kill -9 可以直接杀死进程,而kill -2只是删除进程在内存中的数据,也就是把进程之前占用的内存晴清。而使用kill -15是正常关闭某个程序,和kill -9的强制关闭不同,使用kill -15有可能被阻塞,也就是这次操作有可能不成功。

kill -18 3444

在这里插入图片描述

使用kill -18可以使暂停的程序运行
在这里插入图片描述
可以看到刚才运行的gedit被暂停了。

killall -信号	进程名字

在这里插入图片描述
使用killall可以直接对进程名字进行操作,不用指定进程的pid,可以直接对一类进程进行操作。上面我打开了多个vim进程,使用killall -9后将他们全部杀死了。

pkill	-u 用户名 -信号

使用这个命令可以对某个用户产生的进程进行某个信号的处理。

进程的动态监控

top

在这里插入图片描述
使用top命令可以进行进程的动态监控。进入动态监控的界面后,还可以使用参数进行其他操作

s		##调整刷新频率
c		##查看帮助
m		##内存使用量排序
h		##查看帮助
u		##查看指定用户发起进程
k		##对指定进程发起信号
q		##退出

在这里插入图片描述
按1显示cpu每个核的负载。
在这里插入图片描述
按s调整刷新频率,之后选择刷新时间,我这里按1,代表每秒刷新一次。
在这里插入图片描述
按h查看帮助。
在这里插入图片描述
按m显示内存使用量排序。
在这里插入图片描述
在这里插入图片描述
按u后输入用户名可以查看指定用户发起的进程,我这里查看的是root产生的进程,除此之外,按k可以对指定的进程发起信号,按q会退出这个界面。

最后

以上就是鲜艳黑夜为你收集整理的进程与进程管理的全部内容,希望文章能够帮你解决进程与进程管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部