Linux进程状态 僵尸进程 孤儿进程

news2024/11/17 2:34:33

在这里插入图片描述

进程状态


  • R (running)

    • Linux 的运行状态(循环空语句)
  • S (sleeping)

    • 阻塞状态 称为浅度睡眠(可以被唤醒)
    • 死循环打印语句时
    • 等待输入时
    • 使用 sleep 函数时
  • D (disk sleep)

    • 也是一种阻塞状态,称为深度睡眠
    • 进程在等待磁盘写入完毕期间,这个进程不能被任何人杀掉,此时就处于深度睡眠。
    • 不响应任何操作系统的请求
  • T (stopped)

    • 暂停状态
    • kill -19 PID 暂停进程指令
    • kill -18 PID 继续进程指令
  • t (tracing stop)

  • X (dead)
    进程终止了

  • Z (zombie) 僵尸进程

    1. 僵尸进程是指子进程已经终止(停止运行),但其父进程尚未调用 wait() 或类似的系统调用来获取子进程的终止状态。在这种情况下,子进程的进程描述符仍然保留在系统中,但它实际上已经不再执行任何代码,也不占用资源。这个进程仅存在于进程表中,等待其父进程来获取其退出状态。这种状态称为“僵尸”状态。
    2. 所以,僵尸进程的关键在于子进程已经结束,但父进程还没有对它进行“善后”处理。如果父进程调用 wait()waitpid(),那么僵尸进程的资源就会被释放,真正从系统中消失。
    1. 当一个进程完成时,并不会立即进入 X(dead) 状态,会先进入 Z(zombie) 状态。
    2. 当一个进程(一个人)完成时,操作系统(警察)会继续维护该进程的信息,这个状态称为 Z(zombie) 状态。
    3. 一个进程结束了,但是它的父进程没有等待(调用 wait / waitpid)它, 那么它将变成一个僵尸进程;该进程的父进程已经先结束了,那么该进程就不会变成僵尸进程。
    • 僵尸进程的危害
      • 一个父进程创建了很多子进程,但是不回收,就会造成内存资源的浪费。因为数据结构对象本身就要占内存。
      • 会造成内存泄漏

孤儿进程

  • 父子进程,父进程先退出,子进程的父进程会被改成 1 号进程(操作系统)。
  • 父进程是 1 号进程的进程称为孤儿进程
  • 该进程被系统领养。

进程优先级


基本概念

  • 是什么?
    优先级解决对于一个资源谁先访问谁后访问,用来决策当前进程是先享受还是后享受这个资源。

  • 为什么?

    • CPU 只有一个,进程有多个,注定进程之间要竞争资源,所以进程之间有竞争性。操作系统必须保证进程之间的良性竞争,必须确认优先级。
    • 如果进程长时间的不到 CPU 资源,该进程的代码长时间无法得到推进,就导致该进程的饥饿问题。(就相当于进程卡死了)
  • 怎么办?

查看进程优先级

ps -l:输出当前终端的进程
ps -al:输出所有终端窗口的进程

PRI 和 NI

  • PRI:优先级
    数字越小,优先级越高

  • NI:进程优先级的修正数据(nice 值)
    范围:[-20,19] (可修改的范围)

  • 真正优先级:PRI+NI(通过修改 NI 就可以修改优先级)

常见问题

  • kill -l
    输出 kill 的选项

  • 暂停状态和睡眠状态的区别

    睡眠状态一定在等待某种资源,而暂停状态就可能在等或者被某个进程所控制。

  • 什么情况下会使用暂停模式

    gdb 调试下会 t(tracing stop) 状态

  • 如何父进程先退出,子进程继续运行,会发生什么?

    1. 父子进程,父进程先退出,子进程的父进程会被改成 1 号进程(操作系统)。
    2. 父进程是 1 号进程的进程称为孤儿进程
    3. 该进程被系统领养。
  • 为什么操作系统要领养父进程已经停止的进程呢?

    因为父进程已经停止了,意味着未来没有进程再回收该子进程的资源了,所以必须把这个子进程托管给操作系统,让操作系统来释放回收资源。


在这里插入图片描述

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

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

相关文章

一键云迁移:利用VMware PowerCLI将OVA虚拟机顺利迁移到AWS

哈喽大家好,欢迎来到虚拟化时代君(XNHCYL)。 “ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…(每天更新不间断,福利…

【学习AI-相关路程-工具使用-自我学习-jetson收集数据-图片采集-训练前准备-基础样例 (5)】

【学习AI-相关路程-工具使用-自我学习-jetson&模型训练-图片识别-使用模型检测图片-基础样例 (5)】 1 -前言2 -环境说明3 -先行了解(1)整理流程了解(2)了解模型-MobileNet1、MobileNetV2 的主要特性&am…

大模型推理框架 RTP-LLM 架构解析

RTP-LLM 是阿里巴巴智能引擎团队推出的大模型推理框架,支持了包括淘宝、天猫、闲鱼、菜鸟、高德、饿了么、AE、Lazada 等多个业务的大模型推理场景。RTP-LLM 与当前广泛使用的多种主流模型兼容,使用高性能的 CUDA kernel, 包括 PagedAttention、FlashAtt…

gpt plus获取指南

随着AI技术的发展,越来越多的人开始依赖GPT来提高工作效率。市场上有多个平台提供GPT服务,如何选择最适合自己的?本文将详细对比两个热门平台:「银河」和「环球」,帮助你快速决策。 环球链接 银河链接 结论先行&#…

预测赢家00

题目链接 预测赢家 题目描述 注意点 1 < nums.length < 200 < nums[i] < 10^7假设每个玩家的玩法都会使他的分数最大化如果两个玩家得分相等&#xff0c;同样认为玩家1是游戏的赢家 解答思路 需要注意的是&#xff0c;如果数组中的元素个数为偶数&#xff0c;…

Golang环境安装、配置详细

Windows下安装Go开发环境 点我下载 Windows配置Go环境变量 出现工具install失败时&#xff0c;切换其它代理 # 1. 七牛 CDN go env -w GOPROXYhttps://goproxy.cn,direct# 2. 阿里云 go env -w GOPROXYhttps://mirrors.aliyun.com/goproxy/,direct# 3. 官方 go env -w GOP…

波场(Tron)监听区块交易(TRX,USDT)

前言说明&#xff1a; 本篇文章参考GitHub一位伙伴的代码&#xff0c;再代码基础上优化改良以后的结果&#xff0c;但是一下找不到那位大佬的GitHub链接了&#xff0c;如有侵权请联系作者调整文章&#xff0c;让跟多人收益。谢谢。 实现思路: 波场链是一条很新奇的链&#xff…

网络协议--HTTP 和 HTTPS 的区别

网络协议–HTTP 和 HTTPS 的区别 一、简述 HTTP (全称 Hyper Text Transfer Protocol)&#xff0c;就是超文本传输协议&#xff0c;用来在 Internet 上传送超文本。是互联网上应用最为广泛的一种网络协议&#xff0c;是一个客户端和服务器端请求和应答的标准(TCP)&#xff0c…

NET 8 + WPF 企业级工作流系统

目录 前言 项目介绍 功能模块 快速预览 1、快速预览方式1 2、快速预览方式2 3、快速预览方式3 项目框架 项目功能 1、快速代码生成 2、大屏界面&#xff08;可拖拽&#xff0c;可全屏&#xff09; 3、Form 表单 4、通用crud方法 5、大文件上传与下载 6、多窗口、…

【机器学习】集成学习的基本概念、Bagging和Boosting的区别以及集成学习方法在python中的运用(含python代码)

引言 集成学习是一种机器学习方法&#xff0c;它通过结合多个基本模型&#xff08;通常称为“弱学习器”&#xff09;来构建一个更加强大或更可靠的模型&#xff08;“强学习器”&#xff09; 文章目录 引言一、集成学习1.1 集成学习的核心思想1.2 常见的集成学习方法1.2.1 Bag…

SpringBoot3 + Spring Security6认证授权

SpringBoot3 Spring Security6 实现默认地址/login的认证 Spring Security 核心技术过滤器。一个web请求会经过一系列的过滤器进行认证授权。 主要是用默认的/login请求&#xff0c;继承UsernamePasswordAuthenticationFilter&#xff0c;来实现用户名和密码登录。 核心流程 …

idea一键自动化部署项目

文章目录 前言一、 IDEA插件安装1. 首先下载 Alibaba Cloud Toolkit 插件2. 插件下载完成后重启IDEA 二、SpringBoot项目准备1. pom.xml 文件2. controller3. 启动类 三、SpringBoot项目jar包部署1. Alibaba Cloud Toolkit 插件服务器配置2. 主机 IP、用户名、密码 点击测试链接…

5月,我面试60多号人,才发现很多人没有这项能力

很多 3~5 年开发经验的&#xff0c;都来自传统行业&#xff0c;所接触的都是一些非常传统的项目&#xff0c;像上面的一些案例场景&#xff0c;根本没碰到过&#xff0c;也不知道如何找到好的解决方案。 交流的过程中&#xff0c;发现这些很基本的问题&#xff0c;他们普遍都答…

Storm计算框架

工作流程 主要组件 streams spouts Bolt Tuple Topology stream grouping

Rust多线程编程概述

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust到底值不值得学&#xff0c;之一 -CSDN博客 Rust到底值不值得学&#xff0c;之二-CSDN博客 12.2 多线程编程概述 12.2.1 线程…

校园洗护新体验:一键尽享便捷小程序功能全解析

校园洗护新体验&#xff1a;一键尽享便捷小程序功能全解析 1. **用户端尊享**&#xff1a;无论是渴望上门取件的便捷&#xff0c;还是偏爱送货至店的从容&#xff0c;乃至寄存网点的灵活&#xff0c;一切由您指尖掌控&#xff0c;尽享个性化服务。 2. **取货员专业视角**&…

云计算国标发布 云轴科技ZStack参编

近日&#xff0c;国家市场监督管理总局、国家标准化管理委员会发布中华人民共和国国家标准公告&#xff08;2024年第17号&#xff09;。上海云轴信息科技有限公司&#xff08;简称云轴科技ZStack&#xff09;参与起草的国家标准GB/T 32399-2024《信息技术 云计算 参考架构》正式…

分类预测|基于CNN提取特征使用支持向量机作为分类器进行分类预测CNN-SVM(SVM自动寻优c,g超参数)CNN和CNN-SVM

分类预测|基于CNN提取特征使用支持向量机作为分类器进行分类预测CNN-SVM&#xff08;SVM自动寻优c&#xff0c;g超参数&#xff09;CNN和CNN-SVM 文章目录 一、基本原理1. 卷积神经网络&#xff08;CNN&#xff09;简介CNN的基本结构 2. 支持向量机&#xff08;SVM&#xff09;…

WPF-快速构建统计表、图表并认识相关框架

一、使用ScottPlot.Wpf 官网地址&#xff1a;https://scottplot.net/quickstart/wpf/ 1、添加NuGet包&#xff1a;ScottPlot.Wpf 2、XAML映射命名空间&#xff1a; xmlns:ScottPlot"clr-namespace:ScottPlot.WPF;assemblyScottPlot.WPF" 3、简单示例&#xff1a;…

当视频编辑完成后,要将视频进行导出,其中mp4是人们常用的视频格式, Camtasia如何导出工程文件

当视频编辑完成后&#xff0c;要将视频进行导出&#xff0c;其中mp4是人们常用的视频格式。如果视频编辑尚未完成&#xff0c;则可以将工程文件暂时保存在电脑中&#xff0c;以便下次打开使用。今天的文章将为大家介绍Camtasia关于保存的相关内容。接下来我将为大家介绍&#x…