首页
学习
活动
专区
圈层
工具
发布

【Linux】Linux进程状态深度解析

本文会从实际场景出发,拆解 Linux 中常见的进程状态(比如 R、S、D 等),以及它们背后的内核逻辑,帮你搞懂进程在系统里到底是怎么 “干活” 的。...Linux 入门篇 【 Linux 历史溯源与指令入门 】 【 Linux 指令进阶 】 【 Linux 权限管理 】 Linux 工具篇 【 yum + vim 】 【 sudo白名单配置 + GCC...二、Linux进程状态 下面的状态是在Linux内核源代码中定义的: /* * The task state array is a strange "bitmap" of * reasons...【测试1】: ​​​​​​ 启动这个程序后,发现它的进程状态一直是阻塞类状态(对应 Linux 中的 S 态)。这是为什么呢?...【浅睡眠和深度睡眠对比】 维度 浅睡眠(S 态) 深度睡眠(D 态) 触发场景 等待 IO、定时器等(非关键操作) 等待磁盘等关键 IO 操作 信号响应 能被普通信号(如 Ctrl+C)唤醒 不响应普通信号

28410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Linux】深度解析Linux中的几种进程状态

    前言 大家好吖,欢迎来到 YY 滴 Linux系列 ,热烈欢迎!...本章主要内容面向接触过Linux的老铁 主要内容含: 一.Linux的进程状态 1.Linux进程状态在kernel源代码里的定义 R运行状态(running) : 并不意味着进程一定在运行中,它表明进程要么是在运行中要么在运行队列里...浅度睡眠状态,可以被终止 浅度睡眠会对外部信号做出响应 1.S状态与S+状态 前台进程:带+ 后台进程:不带+ 不能ctrl c关闭;只能kill关闭;可以输入其他命令 3.D :磁盘休眠状态 / 深度睡眠状态...Linux在特殊情况下,会通过 杀掉睡眠中的进程,节省资源! 即我们熟知的“杀后台” 深度睡眠状态不可被杀掉!...Z :僵尸状态(Linux特有状态) 处于僵尸状态的进程:僵尸进程 进程结束不会立刻释放,会等一小会 当一个进程在退出的时候,退出信息会由OS写入到当前退出进程的PCB中,可以允许进程的代码和数据空间被释放

    3.4K10

    什么是Linux内核版本_linux内核深度解析

    Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y r:目前发布的内核主版本。 x:偶数表示稳定版本;奇数表示开发中版本。 y:错误修补的次数。...知识延伸 一般的有三种 1 smp 2 bigmem 3 一般的内核 Red Hat Linux开机的时候,GRUB的启动菜单会有两个选项,分别是 Red Hat Enterprise Linux ES...(版本号.ELsmp) Red Hat Enterprise Linux ES-up (版本号.EL) 这两个分别是代表什么含义呢?   ...Linux ES-up (版本号.EL) uniprocessor **下面就把SUSE与Red Hat启动菜单内可选择的选项,列举出来 SUSE**   版本号-default: SUSE Linux...and up to 64 GB 支持64GB内存的对称多处理器机器 Red Hat Linux 版本号.EL: Red Hat Linux kernel for uniprocessor machines

    13.5K20

    深度理解linux系统—— 进程状态

    在Linux操作系统中,运行态并不一定是占有CPU资源的进程,处于CPU的运行队列runqueue中的进程都是处于运行态。...Linux中的进程状态 上述进程概念运行、阻塞、挂起那都是系统的概念,那在Linux中我们进程状态是什么呢? 在Linux中,进程状态其实就是task_struct中的一个整数。...就设置了状态D,此状态的进程处于深度休眠状态;操作系统无法杀死处于D状态的进程,只能等待进程自己醒来。...很显然是不能的,我们这种结构是不能实现的 而我们Linux是可以的,在Linux中它并没有像我们之前那样将前驱节点指针prve和后置节点指针next直接存放在task_struct中,而是将其包装起来:...Linux中的进程状态:R、S、D、T、t、x、Z等。 后台进程。 一个task_struct在多个队列的原理。

    76000

    深度理解linux系统—— 进程概念

    二、查看进程 有了对进程的了解之后,这里有一个疑问,我们在linux下使用的指令,它是不是进程? 是的,我们执行的所有指令、工具、我们自己的程序,运行起来它都是进程。...说了这么多,我们在linux操作系统下,能不能查看进程呢? 当然是可以的; 查看进程信息 1....在linux操作系统中,我们所有的进程信息都存放在/proc这个系统文件夹中 一眼看去眼花缭乱的,没关系,我们接着往下看,在有一定了解之后再回来看; 2....在Linux系统中,bash是最常用的命令行解释器(shell); 还记得在学习Linux系统中的权限时,提到过shell,它是用户与操作系统之间的接口,负责将我们的指令翻译成内核理解的指令。...bash是shell的一种实现,简单来说bash就是LInux中的命令行解释器; 我们再来想一想,我们在执行程序时,只是简单的让程序运行起来,那谁为我们创建这一个进程呢?

    42210

    深度(Deepin) Linux 体验感受总结

    自从上周给家里电脑和公司的电脑都装上了深度Linux后,明月一直都在体验和使用深度Linux,作为当今少有的一个深度本土化定制的Linux桌面版深度Linux还是有很多可圈可点的地方的,系统UI整体上不算是...深度操作系统,亦称为Deepin,原名Hiweed Linux及Linux Deepin,是武汉深之度科技有限公司开发的Linux发行版。...除操作系统外,深度团队也进行桌面环境和配套基础软件的开发,并与第三方厂商合作开发Linux版本应用。目前系统已经拥有很多针对Deepin系统开发的应用程序。...Deepin早期曾使用过IceWM、Xfce、LXDE和GNOME等桌面环境,但是最终确定自行开发深度桌面环境。上游系统则分别使用过Morphix、Debian和Ubuntu。 ?...当然现在的Deepin里还有微信、TIM、Foxmail等等众多的实用必备的本土化应用供大家选择,影音方面,有深度视频、深度音乐(包含百度音乐和豆瓣电台),应用是基于WebKit的,这样扩展和可定制性也很强

    8.8K40

    深度好文:Linux操作系统内存

    内存 二、 Linux 内存地址空间 三、 Linux 内存分配算法 四、 内存使用场景 五、 内存使用那些坑 ---- Linux 内存是后台开发人员,需要深入了解的计算机资源。...本文主要介绍Linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,Linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。...一、走进Linux 内存 1、内存是什么?...项目地址:https://github.com/YunaiV/ruoyi-vue-pro 二、 Linux 内存地址空间 1、Linux 内存地址空间 Linux 内存管理全貌 2、内存地址——用户态...项目地址:https://github.com/YunaiV/onemall 三、 Linux 内存分配算法 内存管理算法:对讨厌自己管理内存的人来说是天赐的礼物。

    1.7K10

    深度剖析 Linux 的 3 种“拷贝”命令

    在揭秘这 3 个命令之前,我们必须先复习文件的基础知识点,Linux 的文件和目录的关系。 ? Linux 的文件和目录 ?...在 深度剖析 Linux cp 的秘密 一文中,我们详细剖析了文件系统的形态。...问题来了:Linux 的目录是一个倒挂的树形结构呀,为什么上面说 inode 是平坦的结构?如下: ? Linux 的文件确实是树形结构,inode 也确实是平坦的结构。...读取源文件,写入目标位置,生成一个全新的目标文件副本; 这里调用的 copy_reg 的函数封装(要知道这个函数是 cp 命令的核心函数,在 深度剖析 Linux cp 的秘密 有深入剖析过 ); ln...cp 命令也是我之前花了万字篇幅分析的命令,详细可见:深度剖析 Linux cp 的秘密。这里就不再赘述,下面提炼出关于拷贝的 3 种模式。

    2.4K20

    深度理解linux系统—— 进程切换和调度

    在Linux中,这些信息存放到了task_struct中的成员Tss中。...我们现在来看,linux中运行队列的整体结构: 一眼望去,眼花缭乱的,为何如此复杂?...;此时还存在一个优先级为90的队列,那此时CPU就会一直调用优先级为60的进程,直到该进程执行结束,才会去调度优先级为90队列中的进程; 那如果这样去设计的话,非常容易就造成了进程饥饿的问题; Linux...Linux中,它不仅存在一个queue,在内核中,将queue、bitmap、nr_avtive包装成rqueue_elem;然后定义struct rqueue_elem[2]; 这样一个struct...到这里,本篇文章大致内容就结束了,感谢各位支持 简单总结: 进程切换:进程是如何切换的,切换时上下文信息存储到哪里 进程调度:linux中的调度算符:O(1)调度算法实现的思路。

    57810
    领券