进程的理解

本文详细介绍了进程的概念,从程序到进程的转化,进程的动态特性、生命周期、并发性和交互性。阐述了进程和线程的区别,父进程与子进程的关系,以及僵尸进程的产生与处理。此外,还讲解了进程管理工具如pstree、ps、kill等的使用,进程的优先级划分以及如何调整,最后讨论了进程的不同状态,包括运行、睡眠、停止、僵死等,并介绍了作业控制在前后台的运行方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、程序与进程

1、什么是进程

1.通俗来说,进程就是正在运行的一个程序。
2.内核观点:担当分配系统资源(CPU时间,内存)的实体
3.操作系统的角度来说,进程描述为一个结构体---->PCB(在Linux下PCB位task_struct)
4.进程的创建是有限的

(指令,参数)
程序 ------》系统调运-------》缓存(内存)---------》cpu处理 执行任务
特点:静态的,封闭的。
程序 ------运行--------》进程1,进程2,进程3,…

2、进程的特性

(1)动态
(2)有生命周期
(3)运行状态
(4)操作系统运行的基本单位。
(5)并发性,交互性

3、扩展

应用 (应用程序)
|
内核 (内核文件,内核模块,驱动程序)
| 固件(芯片+程序)
硬件

二、进程和线程

进程-----线程1,线程2,线程3,… ----》线程把任务整个任务完成之后,才能运行。
扩展:
(linux:进程,线程----->独立的资源集),入口,序列,出口。
**

三、父进程和子进程

父进程------》子进程----》子进程
父进程的资源,权限,
------>(exec())运行自己的程序。
——exit()
|
<-------------------- 僵尸进程
唤醒

什么是僵尸进程?

子进程先退出,父进程后退出
子进程退出为了保存退出状态,因此这个子进程退出后的资源不会被完全释放,他必须等待父进程接收到他的退出状态,让父进程来子进程释放资源
如果父进程不管不问子进程,那么这个时候子进程就变成了僵尸进程,占用着系统资源不释放

四、进程管理工具

(1)pstree:
(2)ps
(3)pgrep
(4)kill
(5)killall
0,9
(6)pskill
(7)htop
(8)vmstat
(参数)
(9)lsof 文件句柄
-u
-i
-p
-d
+d
+D
-c
-g

五、进程的优先级

进程优先级划分【0-139】【0-99】:有效实时的优先级
0---------139
<------------优先级越高
-20------------19
<------------优先级越高
【100-139】:非有效实时优先级------调整 nice 【-20,19】
nice值的调整:
top “r”–enter;输入PID–enter;输入nice值–enter
renice 【-20,19】 PPID
htop F7(-) F8(+)

如何查看进程的优先级

查看优先级命令ps -l

在这里插入图片描述
UID:代表执行者的身份
PID:代表进程的id
PPID:代表父进程id
PRI:代表正在执行的进程的优先级,该值越小优先级越高,越早被执行
NI:代表这个进程的nice值
这里我们可以看到NI(nice)值,这个nice值我们称之为进程优先级的可修正数据,所以:

PRI = PRI + NI(nice)

这里当NI为负数时,PRI最小及优先级最高

六、进程的状态

sleeping —睡眠状态
stopping —停止状态
running —运行状态
zombie —僵死状态
实时变化的

R—>运行状态
S—>睡眠状态(可中断睡眠状态)
D—>磁盘休眠状态(不可中断睡眠状态)
T—>停止状态
X—>死亡状态
t —>追踪状态
Z—>僵尸状态(很重要,必须理解)

7.进程在前后台的运行;作业控制

在前台一次只能运行一个作业。
在后台可以运行多个作业
ping 192.168.42.2 > /dev/null 2>&1 &
jobs 查看后台作业;与终端,不同终端上的作业要在对应终端上查看。

fg %job编号
bg %job编号 把后台作业运行起来
ctrl + z :挂起

kill %job编号 先停止,在杀死。
ping 192.168.42.2 & 已经在后台运行,在前台输出结果;不影响前台作业执行
jobs
kill

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值