进程知识点(二)

文章目录


一、进程关系?

  1. 亲缘关系:亲缘关系主要体现于父子进程,子进程父进程创建,代码继承于父进程,父进程负责回收,子进程诞生至结束父进程全程参与,把这种称为强亲缘关系。
  2. 进程组关系:进程组是一种系统管理单位,进程管理器进行组划分,组转化转义, 便于系统管理多进程。一个进程组由一个组长进程N个组员进程构成。进程组长的唯一标志, pid 等于 pgid。进程组的成员可以转移,变为其他组成员,进程组概念与亲缘概念没有必然联系,大多数系统不允许组长变更。
  3. 会话关系:一个终端下可能有终端子进程和其他终端进程构成,为了便于管理这些终端进程,使用会话关系管理。
    会话由一个会话发起者和若干个会话参与者构成。会话发起者标志 pid 等于gid 等于sid
    会话发起者结束后按组杀死参与者,杀死终端子进程的那一组。

活下来的方法:

可以使用创建组的方式让子进程残留

成立新会话可以避免被杀死

脱离控制终端

二、孤儿态进程(Orphan)

定义

父进程先于子进程退出, 子进程失去管理,变为孤儿进程。

进程变为孤儿,父进程变更,变为托管进程

所有的孤儿进程结束后由托管进程负责处理这些僵尸进程,避免内存泄漏

危害

孤儿危害是弹性的

主要是孤儿进程残留影响新进程创建。孤儿进程的危害是弹性的,取决于孤儿进程的工作,如果孤儿进程持续申请系统资源,危害较大

处理

利用管道的特性处置孤儿进程,读端关闭,写端杀死

或写一个模型处置孤儿

三、僵尸进程

定义

在父进程执行wait()之前,其子进程就已经终止

原因:即使子进程已经结束,系统仍然允许其父进程在之后的某一时刻去执行wait(),以确定该子进程是如何终止的。内核通过将子进程转为僵尸进程处理

会释放子进程所把持的大部分资源以便其他进程重新使用。

唯一保留内核进程表一条包含子进程ID、终止状态等记录。

处理

唯一方法是杀掉父进程,此时init将会接管和等待这些僵尸进程,从而从系统中清理掉

四、守护进程(Daemon )

定义

守护进程又叫精灵进程, 是典型的后台服务程序,其实也是孤儿进程

作用

守护进程的生命周期比普通进程要长,守护进程的生命周期随系统持续,开机启动,关机结束。后台服务程序, 不能持续占用系统资源,会对系统造成很大的负担, 所以它的工作模式都是低开销的。

低销工作 : 间隔执行,定时执行,条件触发


总结

这就是我大概的理解,进程是系统进行资源分配的基本单位,非常重要!

相关推荐
三品吉他手会点灯5 小时前
C语言学习笔记 - 20.C编程预备计算机专业知识 - 变量为什么必须的初始化【重点】
c语言·笔记·学习
sakiko_5 小时前
UIKit学习笔记1-创建项目(使用UIKit)、使用组件
笔记·学习
生信碱移5 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
星幻元宇VR7 小时前
VR航空航天科普设备【VR时空直升机】
科技·学习·安全·生活·vr
_李小白8 小时前
【android opencv学习笔记】Day 2: Mat类(图片数据结构体)
android·opencv·学习
harder3218 小时前
RMP模式的创新突破
开发语言·学习·ios·swift·策略模式
程序猿乐锅10 小时前
【Tilas|第三篇】多表SQL语句
数据库·经验分享·笔记·学习·mysql
徐某人..10 小时前
基于i.MX6ULL平台的智能网关系统开发
arm开发·c++·单片机·qt·物联网·学习·arm
AOwhisky10 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
光影少年11 小时前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs