Linux中进程的详解

1.进程定义

进程就是cpu未完成的工作,进程存在生命周期(准备期,运行期,终止期)

【进程和程序的区别:】

  • 程序是静态的文件
  • 进程就是运行中的程序的一个副本
  • 运行程序时会把程序复制到内存空间里,运行完毕后释放

【进程和线程的区别】
1.进程是资源调配的最小单位
2.线程是进程运行的最小单位

用一个例子来如何理解进程和线程
打扫屋子需要擦桌子,拖地,还有浇花,假如只有一个人去干打扫屋子这个活,依次干,这叫单核。假如有3个人干打扫屋子这个活,依次干肯定是不合理的,每个人干一个活,叫多线程,可以同时进行。那么打扫屋子就叫一个进程。

进程状态:
在这里插入图片描述
孤儿(僵尸)进程:
父进程永远要比子进程结束的要晚,子进程的所有进程资源需要父进程回收。假如子进程在工作过程中调用的系统资源还没有结束的时候,父进程先挂掉,那么子进程资源就没有进程给它回收,那么子进程就成了孤儿进程。

2.ps命令

ps
	a	##与当前终端相关的所有进程
	x ##与当前终端无关的所有进程
	f	##显示进程从属关系
	e	##显示进程调用环境工具的详细信息
	l	##长列表显示进程的详细信息
ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat	##指定显示进程的某些信息
%cpu	##显示进程cpu负载
%mem	##显示进程内存负载
user	##进程用户
group	##进程组
comm	##进程名称
nice	##进程优先级
pid	##进程的id
stat	##进程状态

在这里插入图片描述

ps aux  ##以用户为中心,对进程进行分类

在这里插入图片描述
在这里插入图片描述
RSS (常驻内存容量,这些东西不能被系统回收的,回收后进程就挂掉了,这些东西必须在内存中一直存在,直到进程结束。)
ps -ef ##显示进程信息
在这里插入图片描述stat中显示的信息

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

按照进程信息排序

ps ax -o %cpu,comm --sort <+|-%cpu > <+|-%mem>	##按照进程信息排序
+	##正序
-	##倒序
重要两个进程排序的方式:因为内存和cpu比较重要。
%cpu	##cpu负载排序
%mem	##内存负载
ps ax -o %cpu --sort -%cpu  按照cpu占用率来逆序排列进程

在这里插入图片描述

3.进程优先级

1.进程的优先级范围
-20~19

2.优先级查看
ps ax -o pid,nice,comm
在这里插入图片描述
3.指定某个优先级开启进程

nice -n 优先级数字	进程名称
nice -n -5 vim &	##开启vim并且指定程序优先级为-5,&代表在后台建立
ps ax -o pid,nice,comm 查看进程

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

renice -n 5 进程号       ##修改进程号为*的进程的优先级为5

在这里插入图片描述
在这里插入图片描述
4.改变进程优先级
reince -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806进程的优先级为-5

4.环境中进程的前后台调用

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

gedit mm建立文件OO,OO在前台运行,占用终端,终端命令行无法输入命令
在这里插入图片描述
ctrl+z 把占用终端的进程mm停止打入后台,进程状态显示stopped
fg 2 把后台的进程 gedit mm调回前台,占用终端,终端命令行无法输入命令
在这里插入图片描述
bg 2 把后台暂停的进程放到后台运行,进程状态显示&,不占用终端,终端命令行可以输入命令
在这里插入图片描述

5.进程信号

1.常用信号等级

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

kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
kill -9 进程号(>如何找到进程的进程号,ps ax -o nice,pid,comm)
kill -20 和ctrl+z都是将进程暂停打入后台
区别:ctrl+z 适用于图形化界面,如gedit kill -20 适用于所有的进程

6.用户登陆审记

1
w ##查看使用系统的当前用户有那些
w -f ##-f查看使用地点
在这里插入图片描述
2
last ##查看用户登陆成功历史
在这里插入图片描述
3.
lastb ##查看用户登陆未成功历史
在这里插入图片描述

7.top命令

top ##监控系统负载工具
m : 根据内存占有率进行排序
c : 根据 cpu 占有率进行排序
u : 后面输入用户名 , 用来查看该用户发起的所有进程
k : 后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来
给某个进程发起一信号
q : 退出进程查看界面
h : 显示 top 命令的帮助
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值