Linux基础之僵尸进程与孤儿进程

目录

一、僵尸进程

1.1 什么是僵尸进程

1.2 为什么要有僵尸状态

1.3 观察我们的僵尸状态

1.4 关于僵尸进程的小Tip

二、孤儿进程

2.1 什么是孤儿进程


一、僵尸进程

1.1 什么是僵尸进程

       在上一篇文章中,我们有提到过进程的死亡状态的概念,而我们的进程在其真正死亡之前还会有一个状态,叫做僵尸状态。

这里再给大家具体介绍一下什么是僵尸状态:

  • 僵死状态(Zombies)是一个比较特殊的状态。当进程退出并且父进程没有读取到子进程退出的返回代码时就会产生僵死(尸)进程
  • 僵死进程会以终止状态保持在进程表中,并且会一直在等待父进程读取退出状态代码。所以,只要子进程退出,父进程还在运行,但父进程没有读取子进程状态,子进程进入Z状态。

1.2 为什么要有僵尸状态

       首先问一个问题,为什么我们要创建一个进程呢??
       一定是因为我们要完成某种任务。那我们又怎么知道,我们的进程把任务完成的怎么样呢?
      那么就一定需要我们的进程在退出时,返回一些信息,去表明自己把任务完成得怎么样。所以在当一个进程退出时,其退出信息会由我们的OS写入到我们程序对应的PCB中,这个时候可以允许我们的进程的代码和数据空间被释放,但是不能允许进程的PCB被立即释放,进程退出了,但是还没有被父进程或者我们的OS所读取,那么我们的OS就必须维护这个PCB,而在我们的PCB在被释放之前就会一直处于我们的Z状态。

1.3 观察我们的僵尸状态

先写这样一段代码:

然后我们来观察一下子进程的状态。

这里可以很清楚的观察到,当我们的子进程结束后,由于我的父进程还在跑,也没对子进程进行回收,可以看到我们的子进程处在Z+的状态,这也印证了我们所说。

1.4 关于僵尸进程的小Tip

       如果我们的进程进入到了我们的Z状态,但是我们的父进程由于某些原因一直没有去回收它,这个时候如果我们没有及时的去回收我们的它,就会导致其在内存中一直占据着一段空间,造成我们的内存泄漏。

二、孤儿进程

2.1 什么是孤儿进程

       当一个子进程还没有退出,没有被父进程回收。而我们的父进程就已经先退出了,这样的子进程我们称之为孤儿进程。

       那孤儿进程我们就不管了吗,肯定不可能,因为如果我们不去管理我们的孤儿进程,由于其没有父亲去给它“收尸”,使得其一直在我们的内存上占据着一定的空间,造成我们的内存泄漏,这种现象越积越多的话,最后很可能会导致我们的操作系统崩溃。
       所以,当一个进程成为孤儿进程时,OS就会给其找一个“干爹”,去回收它的资源。这里给大家看一下孤儿进程,同样先编写一段代码:

       可以看到这段代码,父进程在子进程还没结束的时候就已经退出且回收,然我们观察一下其父进程会变成什么。

       可以看到,当我们的父进程没了之后,我们的子进程从一个前台进程变成了一个后台进程,同样其父进程的PID变成了 1,那么这个1是谁呢,其实就是我们的操作系统,这也说明了,这个找的“干爹”其实就是OS它自己。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/838374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Transformer 模型

文章目录 前言一、模型结构 前言 Transformer 模型是由谷歌在 2017 年提出并首先应用于机器翻译的神经网络模型结构。机器翻译的目标是从源语言(Source Language)转换到目标语言(Target Language)。Transformer 结构完全通过注意力…

IDC:2023年中国IT安全软件市场同比增长4.7%

IDC最新发布的《中国IT安全软件市场跟踪报告,2023H2》显示,2023年下半年中国IT安全软件市场厂商整体收入约为169.8亿人民币(约合23.5亿元美元),同比上升2.7%。结合全年数据,2023全年中国IT安全软件市场规模…

Linux命令使用

一、ls tree clear 1.1 ls ls:查看当前目录下的文件名ls 目录名:查看指定目录下的文件名ls /:查看根目录下的文件名ls -a:查看当前目录下的所有文件名,包括隐藏文件ls -l:查看当前目录下文件的详细信息…

Java中的数组、Set、List、Map类型的互相转换总结

序言 数组、Set、List、Map是Java语言非常常用的几种数据类型,他们之间存在着千丝万缕的联系。关于底层的数据结构我这里就不再多说啦,直接从应用出发,总结他们之间的转换方法,并给出推荐方法。 大家可以点赞收藏等到需要的时候…

【JAVA】嵌入式软件工程师-2025校招必备-详细整理

一、Java 基础 1.JDK 和 JRE 有什么区别? jdk:java development kit jre:java runtime Environment jdk是面向开发人员的,是开发工具包,包括开发人员需要用到的一些类。 jre是java运行时环境,包括java虚拟机…

SVDD(Singing Voice Deepfake Detection,歌声深度伪造检测)挑战2024

随着AI生成的歌声快速进步,现在能够逼真地模仿自然人类的歌声并与乐谱无缝对接,这引起了艺术家和音乐产业的高度关注。歌声与说话声不同,由于其音乐性质和强烈的背景音乐存在,检测伪造的歌声成为了一个特殊的领域。 SVDD挑战是首个…

电脑常用的PDF阅读器-嗨动PDF编辑器!带你详细了解它

电脑常用的PDF阅读器-嗨动PDF编辑器!在数字化信息爆炸的时代,PDF格式的文件因其易于打印和保留原始格式等优点,成为了人们日常工作和学习的常用格式。而对于PDF文件的处理,一款功能强大、操作简便的PDF阅读器是必不可少的。今天&a…

SprintBoot案例-增删改查

黑马程序员JavaWeb开发教程 文章目录 一、准备工作1. 准备数据库表1.1 新建数据库mytlias1.2 新建部门表dept1.3 新建员工表emp 2. 准备一个Springboot工程2.1 新建一个项目 3. 配置文件application.properties中引入mybatis的配置信息,准备对应的实体类3.1 引入myb…

weblogic 任意文件上传 CVE-2018-2894

一、漏洞简介 在 Weblogic Web Service Test Page 中存在一处任意文件上传漏洞, Web Service Test Page 在"生产模式"下默认不开启,所以该漏洞有一定限制。利用该 漏洞,可以上传任意 jsp 文件,进而获取服务器权限。 二…

[链表专题]力扣141, 142

1. 力扣141 : 环形链表 题 : 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾…

数据结构------二叉树经典习题1

博主主页: 码农派大星. 关注博主带你了解更多数据结构知识 1判断相同的树 OJ链接 这道题相对简单,运用我们常规的递归写法就能轻松写出 所以我们解题思路应该这样想: 1.如果p为空,q为空,那么就是两颗空树肯定相等 2.如果一个树为空另一棵树不为空那么…

2024年,诺基亚手机发售仅一天就售罄

在智能手机越来越同质化的今天,各家都只卷性能和相机,大火的 AI 对于咱来说好像实用性又不太大,机圈属实整的有点儿无聊。 不过在阿红这两天上网冲浪的时候,一个陌生又熟悉的名字闯入了我的视线,——诺基亚&#xff08…

维护表空间中的数据文件

目录 向表空间中添加数据文件 从表空间中删除数据文件 删除users表空间中的users02.dbf数据文件 对数据文件的自动扩展设置 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 维护表空间中的数据文件主要包括向表空间中添…

8个迹象表明你需要一台新笔记本电脑,看一下你的笔记本是否有其中一个

序言 当你第一次打开你的笔记本电脑的盒子时,它会以最高性能运行,电池寿命更长,过热最小,资源使用效率高。然而,随着笔记本电脑的老化,它将不能满足预期用途。以下几个迹象表明,可能是时候寻找并投资一款新设备了。 你的设备不再具有预期用途 如果你的笔记本电脑不再…

“图生视频”技术创新:剪贴画秒变动画生成的实验验证与分析

在最近的研究进展中,AniClipart系统的问世标志着文本到视频生成技术的一个重要里程碑。这一系统由香港城市大学和莫纳什大学的研究者们共同开发,旨在解决将静态剪贴画图像根据文本提示自动转换成动画序列的挑战。传统的动画制作流程繁琐且耗时&#xff0…

2024中国(重庆)商旅文化川渝美食暨消费品博览会8月举办

2024中国(重庆)商旅文化川渝美食暨消费品博览会8月举办 邀请函 主办单位: 中国航空学会 重庆市南岸区人民政府 招商执行单位: 重庆港华展览有限公司 展会背景: 2024中国航空科普大会暨第八届全国青少年无人机大赛在重庆举办&#xff…

用友GRP-U8 bx_dj_check.jsp SQL注入漏洞复现(XVE-2024-10537)

0x01 免责声明 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删…

NSSCTF | [SWPUCTF 2021 新生赛]babyrce

打开题目&#xff0c;显示了一个php脚本 我们来分析一下这个脚本是什么意思 <?php error_reporting(0); header("Content-Type:text/html;charsetutf-8"); highlight_file(__FILE__); if($_COOKIE[admin]1) {include "../next.php"; } elseecho &quo…

传统FTP弊端显现 国产ftp要如何选择?

FTP&#xff08;File Transfer Protocol&#xff09;是一个用于在网络上的计算机之间传输文件的协议。它属于网络协议组的应用层&#xff0c;主要用于文件的上传、下载和文件管理操作&#xff0c;是一种比较通用、操作也比较简单的传输方式。不过随着国产化大浪潮的推进&#x…

【线性系统理论】笔记三

能控性判别 约当标准型 总结&#xff1a; 秩的判据 能观性判别 秩判据 能控Ⅰ型&能控Ⅱ型 1型 2型 能控性分解&能观型分解