linux 进程状态 rl,Linux进程状态详解

2023-10-27

Linux进程状态详解

以下部分的代码示例,来自于Linux内核的0.11版本源码

在定义进程的数据结构task_struct时,有一个state字段是用来表示进程状态的,这里总结了下关于state字段的操作

关于进程的几个状态值在sched.h中定义如下

#define TASK_RUNNING 0

#define TASK_INTERRUPTIBLE 1

#define TASK_UNINTERRUPTIBLE 2

#define TASK_ZOMBIE 3

#define TASK_STOPPED 4

在Linus对state的注释中,是这样写的,state<0为不可运行状态(可能是初始化时的值,后面将讨论)、state=0为运行状态(就绪也属于此状态)、state>0为进程停止运行状态(不论是进程正处于睡眠或是已经退出终止了)

下面讨论对state的字段修改是在哪些地方

[进程初始化时的state字段修改]

首先当一个进程被创建的时候,它的状态是TASK_UNINTERRUPTIBLE;因为这时它的数据都是从父进程赋值而来的,还没有设置成自己进程的数据。

*p = *current; /* NOTE! this doesn't copy the supervisor stack */

p->state = TASK_UNINTERRUPTIBLE;

当进程数据设置完成后,进程变为可运行状态

p->state = TASK_RUNNING; /* do this last, just in case */

以上者两部分代码都是来自fork.c的copy_process函数。在最后设置好了新建进程的state字段后,co

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 进程状态 rl,Linux进程状态详解 的相关文章

  • java判空方式

    java判空方式 1 数据结构判空 map list set CollectionUtils isEmpty 为空 CollectionUtils isNotEmpty 不为空 2 对象判空 Objects isNull 为空 Object
  • IPv6你知道多少?

    IPv6是什么 互联网协议 IP 地址是分配给连接到互联网的每个设备的数字标识符 从广义上讲 IP地址允许设备相互通信并交换信息 Internet协议版本4 IPv4 于1983年发布 至今仍用于大多数Internet通信 IPv4地址使用
  • MongoDB.WebIDE:升级版的Mongodb管理工具

    很早以前收藏了一片文章 强大的MongoDB数据库管理工具 最近刚好要做一些MongoDB方面的工作 于是翻出来温习了一下 用起来也确实挺方便 不过在使用过程中出现了一些个问题 加上更喜欢MongoUVE的操作习惯 于是决定 自己动手 丰衣
  • Java之object和string的理解

    Java之object和string的理解 文章链接http blog csdn net qq 16628781 article details 65036244 知识点 栈区 堆区和方法区 object类clone 和qeuales 方法
  • dubbo之mock模拟

    1 写在前面 考虑这样的场景 当服务提供者还没有开发完毕或者是因为某些原因无法启动时 会导致服务消费者方的停滞 此时为了能够正常的开发测试 可以使用mock功能 在服务消费者端提供一个服务接口的mock实现类 来模拟调用服务提供者正常获取结
  • RCE高危漏洞预警:CVE-2021-40444简要分析

    漏洞影响及其危害 未经身份验证的攻击者可以利用该漏洞在目标系统上执行代码 Microsoft发布了一份关于此漏洞的官方公告 这篇博客文章讨论了该漏洞如何发挥作用 我们已获得多个利用此漏洞的文档样本 文档包中的document xml rel
  • JSONP 教程

    本章节我们将向大家介绍 JSONP 的知识 Jsonp JSON with Padding 是 json 的一种 使用模式 可以让网页从别的域名 网站 那获取资料 即跨域读取数据 为什么我们从不同的域 网站 访问数据需要一个特殊的技术 JS
  • CTFHUBWeb技能树——信息泄露writeup

    web之信息泄露 一 目录遍历 二 PHPINFO 三 备份文件下载 1 网站源码 2 bak文件 3 Vim缓存 4 DS Store 四 Git泄露 1 Log 2 Stash 3 Index 五 SVN泄露 六 HG泄露 一 目录遍历
  • 一口气用Python写了13个小游戏(附源码)

    今天给大家分享13个游戏源码 可以自己复现玩玩 研究下里面的编程逻辑 对学习编程 特别是初学者 应该会有很大帮助 1 吃金币 源码分享 import os import cfg import sys import pygame import
  • 做自媒体创作,这些坑你都踩过吗?快来避雷

    做自媒体以来 我经历过不少误区 走了很多弯路才觉悟出来 这里分享给大家 看看你有没有踩坑 1 不要把涨粉放在第一位 粉丝多少不是关键 20万粉丝的创作者我也有接触 几乎无变现能力 2 标题和封面的重要性 我以前愿意花几个小时写一篇文章 或者
  • nginx脚本

    将wget下载nginx 1 22 0 tar gz包 直接复制到文本中 添加执行权限 chmod 744 脚本名称 脚本名称或sh 脚本名称 执行脚本 bin bash shijian 20220717 xingming zs echo
  • Linux基础笔记

    文章目录 一 Linux目录结构 二 vi 和 vim 1 三种方式 2 基础操作 三 Linux基础命令 1 关机 重启 2 登录 注销 3 用户管理 4 运行级别 5 帮助指令 6 文件目录指令 7 压缩 解压 8 组管理 9 权限管理
  • Python大神给免费分享一个爬取12306火车票例子(附源码)

    上面是以前写的文章的资源 在以前的文章中有对应的资源 有兴趣的可以去查看 作为一种便捷地收集网上信息并从中抽取出可用信息的方式 网络爬虫技术变得越来越有用 使用Python这样的简单编程语言 你可以使用少量编程技能就可以爬取复杂的网站 如果
  • vue中使用video插件vue-video-player

    进入我们的项目文件夹中 并打开命令行窗口 然后进行下面的步骤 1 安装vue video player 输入命令 npm install vue video player S 2 引入插件 在项目的入口文件main js中引入插件 如下 i
  • synopsys-SDC第六章——生成时钟

    synopsys SDC第六章 生成时钟 时钟派生方式 create generated clock edge divide multiply edge shift 多同源时钟 使能组合路径 其他注意事项 之前准备了一段时间的秋招 好久没有
  • java接入apiv3微信小程序支付(以java的eladmin框架为例)

    一 需要准备的资料 1 小程序AppID 如 wx2e56f5 2 商户号 如 1641 3 商户API私钥路径 什么是商户API证书 如何获取商户API证书 获取文件如下图 如 本地路径 E Env eladmin cert c2 api
  • 构造函数属性为protected或者private时

    在c 中 不仅限于c 一个函数被声明为protected或者private时 那也就意味着不能被外部直接调用了 类的成员函数add 是private class cla private int add int a int b return
  • ESP8266常见问题

    转载于 ESP8266常见问题解答 http bbs eeworld com cn thread 506728 1 1 html 出处 电子工程世界 论坛 1 为什么ESP8266 TCP透传过程会丢包 因为没有设置硬件流控 如果需要避免丢
  • matlab极简入门教程(二)

    在matlab中只有一个唯一的数据结构 矩阵 在matlab中 所有设置的变量都是区分大小写的 在matlab中有时输入的算式很长 直接写在一行里的不够美观 matlab提供了续行的符号 可以在下一行继续输入算式 使用时加在行的末尾 例如

随机推荐

  • Python自动化测试工具有哪些?哪一个更适合你呢?

    目录 前言 Web UI test automation Web UI 自动化 Mobile test automation 移动端自动化测试工具 Windows UI test automation Windows的UI测试工具 Unix
  • 2020版本unity无法打开VS居然是因为项目使用中文名?

    unity打不开VS居然是因为使用中文项目名称 时间仓促手机拍照凑合着看 平时大多数时候都使用英文名称 今天偶然想用中文名 捣鼓半天 到创建脚本的时候发现无法正常打开VS 用中文项目名称 双击脚本要么直接没反应 要么卡在Applicatio
  • Linux LVM(逻辑卷管理器)

    目录 一 LVM 1 1 安装lvm工具 1 2 创建逻辑卷 1 2 1 环境准备 1 2 2 创建pv Physical volume物理卷 1 2 3 创建VG Volume group 卷组 1 2 4 创建LV Logical vo
  • Cannot assign requested address错误解决

    编程时候出现了socket绑定失败 返回值为 1 利用perror定位错位为cannot assign requested address 大致上是由于客户端频繁的连服务器 由于每次连接都在很短的时间内结束 导致很多的TIME WAIT 以
  • mysql优化之(use temporary、use filesort)

    目录 一 use temporary 二 use filesort 三 extra的其它字段说明 一 use temporary 为了解决查询 MySQL需要创建一个临时表来容纳结果 use temporary产生条件 如果GROUP BY
  • 【实训项目】滴滴电竞APP

    1 设计摘要 2013年国家体育总局决定成立一支由17人组成的电子竞技国家队 第四届亚室会中国电竞代表队 出战第四届亚洲室内和武道运动会 2014年1月13日CCTV5 体育人间 播放英雄联盟皇族战队的纪录片 在2015到2019年间 我国
  • VMware16的安装

    一 学习目标 VMware Workstation的安装 创建虚拟机 二 要点 VMware Workstation的安装 为方便自己安装文件的寻找 最好创建一个以Linux操作系统命名的新文件夹 CentOS 7 x86 64 DVD 2
  • Nginx rtmp&&Centos FFmpeg安装配置

    Nginx yum install git yum y install gcc gcc c yum install y pcre pcre devel yum install y zlib zlib devel yum install y
  • 浏览器首页被篡改,教你如何改回来!

    原文 http www javaketang com html 2018 subject 1023 95 html 有时会遇到这个问题 浏览器的主页不知什么原因被篡改了 今天就教大家怎么改回来 主页被篡改 方法一 1 首先找到浏览器的设置
  • Android开源框架之ImageLoader

    特点 多线程下载图片 图片可以来源于网络 文件系统 项目文件夹assets中以及drawable中等 支持随意的配置ImageLoader 例如线程池 图片下载器 内存缓存策略 硬盘缓存策略 图片显示选项以及其他的一些配置 支持图片的内存缓
  • 软件发布版本命名规则

    软件发布版本命名规则 1 版本类型 1 1 正式版本 Enhance 增强版或者加强版 属于正式版 Full 完全版 属于正式版 Release 发行版 有时间限制 Upgrade 升级版 Retail 零售版 Plus 增强版 不过这种大
  • 数组筛选filter()

    var datas name 商品房 code 11 name 商铺 code 12 var data datas filter function item return item code 12 console log data name
  • 在LUA中使用GETTEXT实现多语言支持

    在Lua中使用gettext实现多语言支持 GNU gettext 是一套优秀的国际化工具 在 linux 中被大量采用 wordpress 也使用 gettext 实现多语言支持 本文介绍如何在 quick cocos2d x 中使用 g
  • 第二次ACOUG活动的收获

    author skate time 2010 04 25 本次ACOUG活动的收获 在4月24日参加ACOUG的第二次地面活动 这次活动的参见的人很多 整个活动的气氛非常好 众多专家高手在分享的他们的经验 在这个活动中 我得到的收获是 1
  • C#/.NET/.NET Core优秀项目框架推荐

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • 云计算对于IT业务开展好处都有哪些?

    随着企业越来越多的开始部署采用云服务 您到底是需要增加还是减少IT员工数量 这取决于您所看到的调查或报道 对于您企业的IT员工和他们的工作安全来说 云计算可以是一件好事 也可能相当可怕 例如 根据微软和IDC最近的研究预测 到2015年 云
  • 模板函数递归不定参数展开template<typename First, typename ...KeyTypes>

    看到一篇文 https www cnblogs com qicosmos p 4325949 html 讲到了模板函数递归展开不定参数包 突然想起一段段代码如下 void MediaSource for each media const f
  • webpack的安装及打包

    1 创建项目目录并初始化 创建项目 并打开项目所在目录的终端 在命令框输入命令 npm init y 2 创建首页及js文件 创建一个src文件 在src里创建index html页面 初始化页面结构 在页面中摆放一个ul ul里面放置几个
  • eclipse使用技巧:快速显示行号

    1 把光标放在某个展开的类中 按下快捷键 Ctrl F10 gt 选择 Show Line Numbers 这尼玛也太简单了
  • linux 进程状态 rl,Linux进程状态详解

    Linux进程状态详解 以下部分的代码示例 来自于Linux内核的0 11版本源码 在定义进程的数据结构task struct时 有一个state字段是用来表示进程状态的 这里总结了下关于state字段的操作 关于进程的几个状态值在sche