首页 > 系统相关 >进程的状态

进程的状态

时间:2024-09-20 22:52:03浏览次数:3  
标签:状态 队列 printf 进程 CPU 运行

目录

进程的状态

从操作系统的角度宏观的看待进程状态:

S:

T:

R/R+

D


进程的状态

pid_t id=fork();
    if(id<0)
    {
        perror("fork");
        return 1;
    }
    else if(id==0)
    {
        //child
        while(1)
        {
            printf("Son process,pid :%d ,ppid :%d\n",getpid(),getppid());
            sleep(1);
        }
    }
    else
    {
        //parent
        while(2)
        {
            printf("Parent process,pid :%d ,ppid :%d\n",getpid(),getppid());
            sleep(3);
        }
    }

这段代码printf时必须加上\n将其设置为行刷新。否则无法实时打印。

从操作系统的角度宏观的看待进程状态:

1.一个CPU一个运行队列

2.让进程入队列,本质:将该进程的task_struct结构体对象放入运行队列中。

3.进程PCB在runqueue,就是R(运行状态),并不是这个进程在运行,才是运行状态

4.进程不止占用CPU的资源,也可能随时需要外设资源

5.所谓的进程不同状态,本质是进程在不同队列中,等待某种资源

int a=1;
while(1)
{
    printf("当前进行: %d",a;
)

./myprocess执行一下

S:

printf->显示器(外设->满)等待显示器就绪需要花费大量的时间(相对CPU而言)

%99等待IO就绪,%1执行打印代码

T:

向一个R状态的进程发送19号信号其状态就会变为T.

在发送一次18号信号就可以将其状态恢复为R

R/R+

R+前台进程,R为后台进程。

后台进程不能用ctrl+c终止,只能向其发送9号信号。

D

高IO情况才有可能出现。

处于深度睡眠状态的进程无法被OS杀掉,只能通过断电,或进程自己主动醒来。来解决。

标签:状态,队列,printf,进程,CPU,运行
From: https://blog.csdn.net/2301_77479435/article/details/142392941

相关文章

  • HTTP协议详解以及常见的状态码
    HTTP协议的定义:HTTP(HyperTextTransferProtocol,超文本传输协议)是一种建立在TCP(传输控制协议)之上的无状态连接协议。它是互联网的基础协议之一,用于客户端与服务器之间的通信。HTTP规定了客户端和服务器之间通信的格式,包括请求与响应的格式,使得网络上的资源(如HTML文件、图片......
  • oracle常用后台进程及sql语句执行流程
    1.checkpoint功能:减少崩溃恢复crashrecovery时间。检查点可以确保在某个时间点之前的所有事务都写入磁盘,保证数据一致性后台进程ckpt触发,ckpt通知dbwr进程将脏数据库dirtybuffer写出到数据文件上.更新数据文件头及控制文件上的检查点触发条件:数据库一致性关闭、altersystem......
  • 基于平均加权最小二乘法AWTLS、加权最小二乘 WLS、总最小二乘法TLS以及加权总最小二乘
         ......
  • linux 基础知识 什么是僵尸进程?有什么影响?如何解决?
    linux系统僵尸进程在Linux系统中,僵尸进程(ZombieProcess)是一种特殊的进程状态,它指的是一个已经完成执行的进程,其父进程尚未通过wait()或waitpid()系统调用来回收其资源和状态信息。僵尸进程本身并不占用CPU和其他资源,但它的进程描述符(PCB)仍然保留在系统中,这会占用系统资源并可......
  • 进程
    1.c语言和cpp语言中,这个不是内存,%p进程认为自己是独占空间的,实际上不是这样子的。pcb中存了一个内存空间,进程地址空间页表是进程内存管理的核心部分,它管理了进程虚拟内存到物理内存的映射关系。通过页表,操作系统可以为每个进程提供独立的虚拟地址空间,并实现内存分页......
  • 进程间通信-信号
    大部分信号是异步的/*1-31号信号 非实时信号(所有非实时信号优先级相同) ---不可靠信号不可靠:处于就绪队列多个相同的非实时信号只会被响应一次,其余的被丢弃特征:1、不排队,会相互嵌套(例如家里来客人1先来,招待1的过程中2来了就立马去招待2)2、处于就绪队列多个相同的非实时......
  • 11 UML中的逻辑视图、进程视图、实现视图、部署视图
    UML(UnifiedModelingLanguage,统一建模语言)是一种用于对软件密集系统进行可视化建模的标准语言。在UML中,系统可以从不同的角度进行描述,这些不同的角度被称为视图。具体来说,UML中的逻辑视图、进程视图、实现视图和部署视图分别代表了系统的不同方面。1.逻辑视图(LogicalView)定义......
  • 【深度学习|可视化】如何以图形化的方式展示神经网络的结构、训练过程、模型的中间状
    【深度学习|可视化】如何以图形化的方式展示神经网络的结构、训练过程、模型的中间状态或模型决策的结果??【深度学习|可视化】如何以图形化的方式展示神经网络的结构、训练过程、模型的中间状态或模型决策的结果??文章目录【深度学习|可视化】如何以图形化的方式展示神经......
  • Linux | 进程间通信:管道、消息队列、共享内存与信号量
    文章目录《深入理解进程间通信:管道、消息队列、共享内存与信号量》一、进程间通信介绍(一)进程间通信目的(二)进程间通信发展(三)进程间通信分类二、管道(一)什么是管道(二)匿名管道(三)管道特点(四)命名管道三、共享内存(一)共享内存简介(二)共享内存数据结构(三)共享内存函数四、消息队......
  • 【原创】解决NasCab掉进程,NasCab进程维护
    最近对象吐槽家里服务器又连不上,看不了考研视频了。我掏出手机一试,确实连不上。家里的服务器是Win11平台,用NasCab管理的视频文件,然后通过frpc做的内网穿透。我们在外面的图书馆,连不上无非是三种情况:服务器关机了、NasCab内网穿透插件掉了、NasCab进程掉了。远程登录服务器,发现......