当前位置: 首页 > article >正文

Linux中进程的状态2

学习完进程的调度和等待我们接着学习进程的具体状态表示

进程的状态

在Linux中进程的状态一共有7种。如下

接下来我会用代码来验证这几个状态,这个D状态暂时不验证,看看就好。

R(running)&&S(sleep)

进程处在运行队列中就是处在运行状态了。

我们先弄一个死循环程序,通过这个程序来进行验证。

通过查询code的进程状态可知还没运行时处于S状态非常合理,运行时里面处于R状态,后面有个+号就说明是处于前台运行的,我们可以直接用ctrl终止。

不对呀,code都在运行为什么是S,那是因为code.c里面有一个sleep,处于R状态是会一直调用cpu的,这里由于sleep了就不能是R了。

现在删除sleep行再看细节。

也是终于刷出来了R+状态。如果还是S+的就这个显示进程状态就指令多运行基础

还有一种可以促使其变成S+就是用scanf强行等待输入,如下:

然后我们可以最后将进程杀掉。使用-9选项通过进程的pid杀掉进程。

D(disk sleep) 

disk是磁盘的意思,这个选项也是阻塞状态的一种,是不可中断的睡眠,深度睡眠,上面的S是可以中断的浅睡眠,多发于向磁盘中写入大量文件。

T(stopped) && t(tracing stop)

程序做了非法但是不致命的操作而被操作系统暂停了就会出现T状态,简单来说就是进程被暂停了。

保证程序在运行状态,然后运行,在另一个主机进行暂停程序操作。

t状态是当进程被追踪时遇到断点被截停了就是t,当然这个就需要调试之后才知道了,这个我们后面再说。感兴趣的话自己去做一下。


http://www.kler.cn/a/551059.html

相关文章:

  • C#Halcon九点标定自动标定插件
  • 11-跳跃游戏
  • android uri路径转正常本地图片路径
  • 利用爬虫精准获取淘宝商品描述:实战案例指南
  • Python in Excel高级分析:一键RFM分析
  • 美国股市主要指数介绍(Major U.S. Stock Market Indexes):三大股指(中英双语)
  • 基于Flask的艺恩影片票房分析系统的设计与实现
  • 获取所有conda虚拟环境的python版本以及torch版本
  • 在Nodejs中使用kafka(二)partition消息分区策略
  • Hbase 2.2.4 伪分布环境与安装
  • 推荐两个比较好用的流程图js库
  • 计算机网络(3)TCP格式/连接
  • [论文阅读] SeeSR: Towards Semantics-Aware Real-World Image Super-Resolution
  • 【C++游戏开发-五子棋】
  • Unity3D UI菜单与场景切换详解
  • 解决macos安装docker后不能远程连接的问题
  • 使用 Apache PDFBox 提取 PDF 中的文本和图像
  • Linux-GlusterFS
  • Ollama+DeepSeek+Open-WebUi
  • 计算机视觉-OpenCV图像处理