进程状态初始

目录 :

          1.状态的认识

          2.具体状态的学习

          3.验证 R  S  T   Z(引出孤儿进程)状态

          4.前台、后台运行程序

--------------------------------------------------------------------------------------------------------------

1.状态的认识

进程的状态信息在哪里呢???

task_struct (PCB)

进程状态的意义:方便OS快速判断进程,完成特定的功能,比如调度,本质就是对众多状态的分类!!!!!

2.具体状态的学习

1.R状态   :运行状态

 2.S    (sleeping)和  D(disk sleep) 状态

 那么当磁盘可以读的时候,磁盘一旦可以读,要做的不是将等待队列的进程去读磁盘,而是将这个进程的状态设为R状态(换而言之就是这个进程等待成功了),将这个等待成功的进程挪到CPU的运行队列上。CPU开始调度下一个进程。

所谓的进程,在运行的时候,有可能因为运行需要,可以会在不同的队列里

在不同的队列里,所处的状态是不一样 的

3.  T(stopped) :暂停状态

4.X(dead) : 死亡状态   --》回收进程资源 = 进程相关的数据结构 + 你的的代码和数据

5.Z(zomble):僵尸状态

为什么要用僵尸状态:为了辨别这个进程退出死亡的原因

死亡状态并不是立即回收进程资源,而是在死亡状态之前进入僵尸状态,保存进程退出的信息

进程退出的信息也是数据被写在在PCB中,供我们的系统或父进程读取

3.验证 R S T 状态

1.R状态的验证

2.S状态

同时这个例子,也能看出外设和CPU相比是非常慢的

当CPU把PCB放在外设的等待队列时,看着程序一直在打印,可在CPU看来,这个进程一直在等待队列中等待

所以为什么我们在看R状态时我们只有空语句,因为外设太慢了CPU会认为这个进程一直在等待,但是当这个进程没有需要访问外设时,CPU会一直运行这个循环进程,只需要排队等这个CPU资源就可以

3.T状态 :暂停这个进程

首先我们先学一下如何暂停一个进程

向进程发送信号的方式来开始和暂停一个进程

如何发信号给我们的目标进程呢

kill -信号编号  进程PID

也就查看到了我们的T状态

 这时候我们再想干掉这个进程我们需要  kill  -9  PID

4.Z状态 : 僵尸状态

 我们用下面这段程序来看僵尸进程

 

 这个时候,当我们的子进程都退出的时候,父进程一旦终止,虽然我们的父进程没有回收子进程,我们的操作系统也会想办法回收这个子进程的

但只要我们的父进程一直不终止,且父进程也不回收,,那么这个僵尸进程可能会一直存在

------------------------------------------------------------------------------------------------------------------

上面的是子进程退出,父进程仍在运行的情况(子进程先于父进程死亡)

那么我们如果将父进程先于子进程死亡(但是子进程一直运行)

此时这个子进程是孤儿进程,这个子进程被1号进程收养(1号也就是操作系统)

4.前台、后台运行程序

前台进程 :在命令行运行我的程序的时候,就比如 pwd   ls  等这些指令都是在前台运行的

,在前台运行的时候,ls pwd   touch 等是不起作用的

 后台进程:在运行程序的时候  带一个  &符号,就是后台进程,后台进程最明显的表现就是可以执行你的命令

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前列腺癌论文笔记

名词解释 MRF: 磁共振指纹打印技术( MR Fingerprinting)是近几年发展起来的最新磁共振技术,以一种全新的方法对数据进行采集、后处理和实现可视化。 MRF使用一种伪随机采集方法,取代了过去为获得个体感兴趣的参数特征而使用重复系列数据的采集方法&…

python零基础实现基于旋转特征的自监督学习(二)——在resnet18模型下应用自监督学习

系列文章目录 基于旋转特征的自监督学习(一)——算法思路解析以及数据集读取 基于旋转特征的自监督学习(二)——在resnet18模型下应用自监督学习 模型搭建与训练系列文章目录前言resNet18Residualresnet_blockresNet18select_mod…

apache配置与应用

构建虚拟 Web 主机 apache虚拟web主机指在同一台服务器运行多个web站点,其中每一个站点实际上并不独立占用整个服务器,因此被称为web主机,可以充分利用服务器的硬件资源,大大降低网站的构建成本 http服务支持三种虚拟主机类型 …

Spring Cloud之Consul服务治理实战

目录 1、Consul是什么 1.1概念 1.2 Consul下载 1.3 Consul启动 2、Consul使用场景 3、Consul优势 4、Consul架构及原理 4.1 整体架构图 4.2 通讯机制 4.3 健康检测 4.4如何保证数据一致性 5、搭建Consul环境 5.1 本地Consul搭建 5.2 集群Consul搭建 5.2.1 安装C…

VUE使用el-ui的form表单输入框批量搜索<VUE专栏三>

针对form表单的输入框单号批量查询&#xff0c;这里用换行符进行分割&#xff0c;注意v-model不要使用.trim 前端代码&#xff1a; <el-form-item label"SKU编码:" prop"prodNumbers"><el-input type"textarea" :rows"4" pla…

Spring 之依赖注入底层原理

Spring 框架作为 Java 开发中最流行的框架之一&#xff0c;其核心特性之一就是依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;。在Spring中&#xff0c;依赖注入是通过 IOC 容器&#xff08;Inversion of Control&#xff0c;控制反转&#xff09;来实现…

电动牙刷语音芯片,音乐播放ic选型?

牙医认为每天刷牙两次对于口腔健康至关重要。但是有些人会因为不良的刷牙习惯而受害&#xff0c;比如刷牙时间不够长。而刷牙不当会导致牙齿出现问题&#xff0c;例如蛀牙、污渍和口臭。 为了保护牙齿健康&#xff0c;很多家庭开始尝试使用电动牙刷。电动牙刷通过嗡嗡地振动消…

springboot2.7及springboot3中自动配置的变化

大家在面试中问到springboot如何实现的自动配置 诶&#xff0c;不要傻背错八股了&#xff0c;以往 入口类上的SpringBootApplication注解引入EnableAutoConfiguration&#xff0c;再 Import({AutoConfigurationImportSelector.class}) &#xff0c;其中代码实现根据META-INF/sp…

实战案例|聚焦攻击面管理,腾讯安全威胁情报守护头部券商资产安全

金融“活水”润泽千行百业&#xff0c;对金融客户来说&#xff0c;由于业务场景存在特殊性和复杂性&#xff0c;网络安全必然是一场“持久战”。如何在事前做好安全部署&#xff0c;构建威胁情报分析的防护体系至为重要&#xff0c;实现更为精准、高效的动态防御。 客户名片 …

Java实现打印杨辉三角形,向左、右偏的平行四边形这三个图形代码程序

目录 前言 一、打印杨辉三角形 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 二、向左偏的平行四边形 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 三、向右偏的平行四边形 1.1运行流程&#xff08;思想&#xff09; 1.2代…

一个评测模型+10个问题,摸清盘古、通义千问、文心一言、ChatGPT的“家底”!...

‍数据智能产业创新服务媒体——聚焦数智 改变商业毫无疑问&#xff0c;全球已经在进行大模型的军备竞赛了&#xff0c;“有头有脸”的科技巨头都不会缺席。昨天阿里巴巴内测了通义千问&#xff0c;今天华为公布了盘古大模型的最新进展。不久前百度公布了文心一言、360也公布了…

网络系统集成综合实验(六)| 访问控制列表ACL配置

目录 一、前言 二、实验目的 三、实验需求 四、实验步骤与现象 &#xff08;一&#xff09;基本ACL实验 Step1&#xff1a;构建拓扑图如下&#xff1a; Step2&#xff1a;PC的IP地址分别配置如下&#xff1a; Step3&#xff1a;路由器的IP地址配置如下 Step4&#xff…

十、CNN卷积神经网络实战

一、确定输入样本特征和输出特征 输入样本通道数4、期待输出样本通道数2、卷积核大小33 具体卷积层的构建可参考博文&#xff1a;八、卷积层 设定卷积层 torch.nn.Conv2d(in_channelsin_channel,out_channelsout_channel,kernel_sizekernel_size,padding1,stride1) 必要参数&a…

大数据五次作业回顾

文章目录1. 大数据作业11.本地运行模式部分2. 使用scp安全拷贝部分2. 大数据作业21、Rrsync远程同步工具部分2、xsync集群分发脚本部分3、集群部署部分3. 大数据作业31. 配置历史服务器及日志2. 日志部分3. 其他4. 大数据作业4编写本地wordcount案例一、源代码二、信息截图5. 大…

matlab流场可视化后处理

1流体中标量的可视化 流体力学中常见的标量为位置、速度绝对值、压强等。 1.1 云图 常用的云图绘制有pcolor、image、imagesc、imshow、contourf等函数。 这里利用matlab自带的wind数据作为演示案例&#xff0c;显示二维云图的速度场。 close all load wind x2x(:,:,5);y2y…

介绍MSYS2 在windows下与使用

系列文章目录 文章目录系列文章目录前言一、MSYS下载二、安装三、使用MSYS2安装CMake工具前言 MSYS的独立改写版本 MSYS2 &#xff08;Minimal SYStem 2&#xff09; 是一个MSYS的独立改写版本&#xff0c;主要用于 shell 命令行开发环境。同时它也是一个在Cygwin &#xff08…

闭关修炼(0.0 pytorch基础学习)1

基于官网pytorch.org pytorch 动态 比较优秀 py3.7支持是最多的啦 原来anaconda 是蟒蛇的意思 细思极恐 python 是蛇 yi Introduction to PyTorch Tensors — PyTorch Tutorials 2.0.0cu117 documentation omygaga 英语极差 哈哈哈 tensor 多维数组 矩阵二维数组 Tensor…

G761-3005B伺服阀放大器

G761-3005B伺服阀放大器&#xff0c;两级设计能够实现高水平设备性能、更快的周期时间和更高的准确性&#xff0c;最终为客户带来更高的生产效率 双线圈力矩马达高可靠性冗余设计 力矩马达配置双精度喷嘴精确流量控制和可预测性 干式力矩马达设计消除力矩马达气隙中可能导致…

数据结构-二叉树(前中后层序遍历-代码实现)

一、概要 二叉树的遍历方式包括前序遍历、中序遍历、后序遍历和层序遍历&#xff0c;具体定义如下&#xff1a; 前序遍历&#xff1a;先访问根节点&#xff0c;然后按照前序遍历的方式递归访问左子树和右子树。 中序遍历&#xff1a;先按照中序遍历的方式递归访问左子树&#…

Spring————java的反射机制,Spring的IOC和DI

一、认识Spring 1.1、Spring家族 SpringFramework&#xff1a; Spring框架&#xff1a;是Spring中最早核心的技术&#xff0c;也是所有其他技术及的基础。 SpringBoot:Spring是用来简化开发。而SpringBoot是来帮助Spring在简化的基础上能更快速进行开发。 SpringCloud&#xf…