码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 进程状态和Linux的进程状态


    目录

    • 1.进程状态
      • 1.运行态
      • 2.终止状态
      • 3.进程堵塞
      • 4.进程挂起
    • 2.linux进程状态
      • R状态 运行态
      • 2.S状态 阻塞状态 浅度睡眠状态
      • 3.D状态 堵塞状态 深度睡眠状态
      • 4.Z状态 僵尸状态
      • 5.模拟僵尸进程
      • 6.长时间僵尸,有什么问题?
      • 7.孤儿进程
      • 8.T 进程 暂停状态
      • 9. t进程 追踪状态

    1.进程状态

    1.运行态

    运行态是:进程已经在运行队列中就叫运行态,代表着我已经准备好了,随时可以进行调度

    2.终止状态

    终止状态是:进程还在,但是永远不会运行了,随时等着被释放
    但是有的人可能会想,为什么要维护一个永远不会终止态?他都不会运行了
    因为释放进程其实是需要时间的,操作系统可能会很忙

    3.进程堵塞

    1.一个进程,使用资源的时候,可不仅仅是在申请cpu资源
    2.进程可能申请更多的其他资源:磁盘,网卡,显卡,显示器资源,声卡/音响
    如果我们申请cpu资源,暂时无法得到满足,需要排队的,这个叫做运行队列
    那么如果申请其他慢设备的资源,申请不到,但是需要这个资源,也是需要排队的
    当进程访问某些资源(磁盘网卡),该资源如果暂时没有准备好,或者正在给其他进程提供服务,此时:1.当前进程要从runqueque中移除 2.将当前进程放入对应设备的描述结构体中的等待队列,cpu速度其实非常,其实因为硬件速度太慢了,完成一个进程cpu可能连一秒都不需要
    那么了解下面的概念,
    进程堵塞是:当我们的进程此时在等待外部资源的时候,该进程的代码,不会被执行,在我们应用层上看到就是,我们被卡住了,这个就是进程阻塞

    4.进程挂起

    如果内存不足了怎么办?
    操作系统就要帮我们进行辗转腾挪
    进程挂起:辗转腾挪意思是:短期内不会被调度(你等的资源,短期内不会就绪)进程,它的代码和数据依旧在内存中,就是白白的浪费空间,操作系统就会把该进程的代码和数据临时置换到磁盘上这就是进程挂起

    2.linux进程状态

    Linux 下的主要进程状态有:
    在这里插入图片描述

    R状态 运行态

    process代码

    #include 
    #include 
    
    int main()
    {
       
        while(1)
        {
       
            printf("hello pid:%d!\n",getpid());
            sleep(1);
        }
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    【云原生Kubernetes项目部署】k8s集群+高可用负载均衡层+防火墙
    pytorch环境配置
    Arduino应用开发——SD卡
    并行前缀和计算——MPI SCAN算法的C语言实现
    MTK平台拍照录像如何实现Mirror效果
    浏览器缓存机制
    linux之perf(2)list事件
    五.Dockerfile文件编写的常用指令记录解释
    CentOS7.9系统部署(nginx+uwsgi+flask)项目
    WinForm中DataGridView分页的实现【DataTable.rows.add()报错:该行已经属于另一个表】
  • 原文地址:https://blog.csdn.net/li1829146612/article/details/126674794
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号