精华内容
下载资源
问答
  • 2021-05-12 09:38:48

    linux系统最常用的命令莫过于ps,经常要用其查看linux的进程和线程情况。此文我们着重来看进程 。进程又分为以下几种状态:

    1. 运行(正在运行或在运行队列中等待)

    2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

    3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

    4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

    5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

    其对应在ps上的相应状态码如下:状态定义

    RRunning.运行中

    SInterruptible Sleep.等待调用

    DUninterruptible Sleep.等待磁盘IO

    TStoped.暂停或者跟踪状态

    XDead.即将被撤销

    ZZombie.进程已经结束,仅映像名留存

    WPaging.内存交换

    N优先级低的进程

    s进程的领导者

    L锁定状态

    l多线程状态

    +前台进程

    平时在查看linux进程状态时,查看最多的三个状态是R  S   D

    R状态,不必多说,R就是running的缩写,即运行中的进程。

    S 即 sleep进程,休眠进程。其又分为两种:Interruptible Sleep(可中断睡眠,在ps命令中显示“S”)。处在这种睡眠状态的进程是可以通过给它发送signal来唤醒的,比如发HUP信号给nginx的master进程可以让nginx重新加载配置文件而不需要重新启动nginx进程;

    Uninterruptible Sleep(不可中断睡眠,在ps命令中显示“D”)。处在这种状态的进程不接受外来的任何signal,这也是为什么之前我无法用kill杀掉这些处于D状态的进程,无论是“kill”, “kill -9”还是“kill -15”,因为它们压根儿就不受这些信号的支配。

    D 即上面提到的Uninterruptible Sleep ,如果从广义上来分,D状态算是一种特殊的S状态进程。进程为什么会被置于D状态呢?

    D状态的进程通常是在等待IO,比如磁盘IO,网络IO,其他外设IO,如果进程正在等待的IO在较长的时间内都没有响应,那么就很会不幸地被ps看到了,同时也就意味着很有可能有IO出了问题,可能是外设本身出了故障,也可能是比如NFS挂载的远程文件系统已经不可访问了。

    正是因为得不到IO的响应,进程才进入了uninterruptible sleep状态,所以要想使进程从uninterruptible sleep状态恢复,就得使进程等待的IO恢复,比如如果是因为从远程挂载的NFS卷不可访问导致进程进入uninterruptible sleep状态的,那么可以通过恢复该NFS卷的连接来使进程的IO请求得到满足,除此之外,要想干掉处在D状态进程就只能重启整个Linux系统(D进程并不能通过kill 和kill -9 杀掉) 。

    更多相关内容
  • 进程的几种状态

    千次阅读 2018-03-20 11:14:11
    进程的几种状态1) 运行状态进程正在处理器上上运行。在单处理器环境下,每个时刻最多只有一个进程处于运行状态。2) 就绪状态进程已处于准备运行状态,即进程获得了除了处理器之外的一切所需资源,一旦得到...

                                                   进程的几种状态

    1)       运行状态:进程正在处理器上上运行。在单处理器环境下,每个时刻最多只有一个进程处于运行状态。

    2)       就绪状态:进程已处于准备运行状态,即进程获得了除了处理器之外的一切所需资源,一旦得到处理器即可运行。

    3)       阻塞状态:又称为等待状态,进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理器)或等待输入/输出完成。即使处理器空闲,该进程也不能运行。

    4)       创建状态:进程正在被创建,尚未到就绪状态。

    5)       结束状态:进程正在从系统中消失。可能是进程正常结束或其他原因中断退出运行。

      进程的3个基本状态是可以相互装换的,如图1-1所示。当一个就绪进程获得处理器时,其状态由就绪变为执行

      当一个运行进程被剥夺处理器时,如用完系统分给他的时间片、出现更高优先级别的其他进程,其状态由运行变为就绪。

      当一个进程因为某件事情受阻时,如所申请资源被占用、启动I/O传输未完成,其状态由执行变为阻塞。

      当所等待事件发生时,如得到申请资源,I/O传输完成,其状态由阻塞变为就绪。


    展开全文
  • 进程的三种状态及转换

    千次阅读 2021-05-09 01:34:26
    1.进程的三基本状态进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三基本状态。就绪(Ready)状态当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为...

    1.进程的三种基本状态

    进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。

    336e960b9e4707e4bb057910588ce786.gif 就绪(Ready)状态

    当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。

    336e960b9e4707e4bb057910588ce786.gif 执行(Running)状态

    当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。

    336e960b9e4707e4bb057910588ce786.gif 阻塞(Blocked)状态

    正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

    2.进程三种状态间的转换

    一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。图3_4描述了进程的三种基本状态及其转换。

    (1) 就绪→执行

    处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。

    (2) 执行→就绪

    处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。

    (3) 执行→阻塞

    正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。

    (4) 阻塞→就绪

    处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。

    例:

    题目:某系统的状态转换图如图所示。

    exer4-3_clip_image001.gif

    (1)分别说明引起状态转换1、2、3、4的原因,并各举一个事件。(2)为什么在转换图中没有就绪到阻塞和阻塞到运行的转换方向?(3)一个进程的状态变换能够引起另一个进程的状态变换,说明下列因果变迁是否可能发生,原因是什么?(a)3→1(b)2→1(c)3→2(d)3→4(e)4→1

    答: (1)1:就绪->执行, 当前运行进程阻塞,调度程序选一个优先权最高的进程占有处理机;2:执行->就绪, 当前运行进程时间片用完;3:执行->阻塞,当前运行进程等待键盘输入,进入了睡眠状态。4:阻塞->就绪,I/O操作完成,被中断处理程序唤醒。

    (2)就绪进程没有占有处理机,也即没有经过运行,其状态就不会改变。阻塞状态进程唤醒后先要进入就绪队列,才会被调度程序选中,进入了执行状态。

    (3)(a) 3→1: 可能,当前运行进程阻塞,调度程序选一个优先级最高的进程占有处理机。(b)2→1:可能,当前运行进程优先级下降,调度程序选一个优先级最高的进程占有处理机。(c)3→2: 不可能,占有CPU的一个进程不能同时进入两个状态;在单CPU的系统中,状态3发生后,cpu没有执行进程,故不会发生状态转换2。(d)3→4:一般不可能,不相干的两个事件。状态转换3是由于运行进程等待资源而发生的,这并不会使得阻塞队列中的进程得到资源而进入就绪队列。但在Unix中,当系统的0#进程因runin标志而睡眠时,有(在内存)进程睡眠,就会唤醒0#进程,使其进入就绪状态,以便将该进程和在盘交换区就绪进程交换位置。(e)4→1:一般无关,但当就绪队列为空时,一个进程被唤醒转入就绪队列后,调度程序使该进程占有处理机(但是同一个进程)。

    展开全文
  • 进程种状态

    千次阅读 2018-08-02 14:05:18
    就绪状态进程已获得除处理机以外的所需资源,等待分配处理...如果你对进程的几种状态以及中间的装换不太了解,建议阅读:(进程的三种状态及转换:https://blog.csdn.net/beyond_2016/article/details/81357705)...
    • 就绪状态:进程已获得除处理机以外的所需资源,等待分配处理机资源
    • 运行状态:占用处理机资源运行,处于此状态的进程数小于等于CPU数
    • 阻塞状态: 进程等待某种条件,在条件满足之前无法执行

    如果你对进程的几种状态以及中间的装换不太了解,建议阅读:(进程的三种状态及转换:https://blog.csdn.net/beyond_2016/article/details/81357705

    展开全文
  • 只要获得处理机便可立即执行,这时的进程状态称为就绪状态。 2:执行状态 当进程已获得处理机,其程序正在处理机上执行 ,此时的进程状态称为执行状态。 3:阻塞状态 正在执行的进程,由于等待某个事件发生而无法 ...
  • 【Linux】Linux进程简介及其五种状态

    万次阅读 2018-07-24 21:42:36
    由操作系统定义,并由操作系统所操控的一个特殊的数据结构实例叫做进程。它连接了用户代码,拥有代码运行所需的独立内存空间,在调度器的调度下使用分配给它的处理器时间片来运行。   进程及其私有内存空间 进程...
  • Linux中进程种状态

    千次阅读 2020-09-13 09:02:00
    Linux中进程种状态 1. R (TASK_RUNNING),可执行状态。 只有在该状态进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列...
  • linux进程的七种状态

    千次阅读 2019-03-10 18:14:21
    但是查了linux的进程状态之后,发现并不是那么回事,linux进程状态分为7,分别如下: 1、R (TASK_RUNNING):运行状态,即包括了上图中的就绪状态和运行状态 2、S (TASK_INTERRUPTIBLE):可中断的睡眠状态,即上...
  • Linux中进程的六种状态

    千次阅读 多人点赞 2021-09-14 19:38:29
    Linxu中进程的六种状态 目录R运行状态(running)S睡眠状态(sleeping)D磁盘休眠状态(Disk sleep)T停止状态(stopped)Z僵尸状态(Zombies)僵尸进程是什么为什么要有僵尸进程僵尸进程的危害X死亡状态(dead) ...
  • 进程的5种状态

    千次阅读 2020-12-10 14:55:14
    一个完整的进程状态的变迁如下图: 再来详细说明一下进程的状态变迁: NULL -> 创建状态:一个新进程被创建时的第一个状态; 创建状态 -> 就绪状态:当进程被创建完成并初始化后,一切就绪准备...
  • 什么是状态机?用C语言实现进程5状态模型

    千次阅读 多人点赞 2020-10-13 08:43:49
    一个健壮的状态机可以让你的程序,不论发生何突发事件都不会突然进入一个不可预知的程序分支,本篇通过实现一个简单的进程5状态模型的状态机,让大家熟悉一下状态机的魅力。 定义 有限状态机(finite-state ...
  • 操作系统进程状态和状态转换详解

    千次阅读 多人点赞 2019-11-01 10:28:55
    进程状态的转换与PCB详解 ​ 返回主目录 ​ 之前的有博文对进程和线程的区别进行了详细的介绍,并且说明了引入进程的目的是为了能够使程序并发的执行,并且可以对并发执行的程序加以描述和控制。这篇博文,我们...
  • Linux内核中,进程的七种状态

    千次阅读 2018-08-06 13:16:44
    Linux内核中,运行一个进程,会因为各种因素,进程会处于何种状态。 有如下几种状态: 1.用户运行态:用户层面,由用户执行程序,执行与等待结果过程。 2.运行态:CPU处理进程任务并返回运行结果 3.僵尸态:进程...
  • 先来看进程的三状态: a)就绪状态进程已获得除CPU以外的所有必要的资源,只等待cpu的状态。一个系统会将多个出于就绪状态进程排成一个就绪队列。 b)执行状态进程已获得CPU,正在执行。单处理系统中,...
  • 进程的五基本状态 - 操作系统

    千次阅读 2020-04-21 17:40:03
    创建状态进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态 就绪状态进程已经...
  • Linux操作系统中进程的七种状态

    万次阅读 多人点赞 2018-05-07 20:43:06
    1 Linux中进程的七种状态(1)R运行状态(runing):并不意味着进程一定在运行中,也可以在运行队列里;(2)S睡眠状态(sleeping):进程在等待事件完成;(浅度睡眠,可以被唤醒)(3)D磁盘睡眠状态(Disk sleep...
  • 挂起后进程处于静止状态进程不再被系统调用,对于操作是激活操作。 在进程调度时,上图中,标有黄色标注的地方都有可能发生进程调度。 其中,1和4是非抢占式调度。 而2、3、3’是抢占式调度(抢占式...
  • 进程状态详解

    千次阅读 2020-04-20 22:40:50
    1、进程状态 ①运行状态(Running) 进程已经占用CPU,在CPU上进行 ②就绪状态(Ready) 具备运行条件但是由于没有CPU可用,所以暂时不能运行 ③阻塞状态(Block)也叫等待状态(Wait) 由于等待某项服务完成或者...
  • 一.linux系统进程类型有 :交互进程 ;批处理进程 ;监控进程(守护进程); 交互进程:由一个shell启动的进程。...进程状态有: linux上进程有5状态: 1. 运行(正在运行或在运行队列中等待) ...
  • 进程的三基本状态

    千次阅读 2015-12-21 13:41:59
    进程的基本状态:   1、就绪(Ready)状态   当进程已分配到除CPU以外的所有必要资源后,只要在获得CPU,便可立即执行,进程这时的状态就称为就绪状态。在一个系统中处于就绪状态进程可能有多个,...
  • 进程控制:七状态模型

    千次阅读 2021-03-06 16:16:49
    首先,进程的七状态模型,分为:创造、就绪、执行、堵塞、终止、挂起就绪、挂起阻塞。 进程 进程没有一个规定的定义,一般定义为: 进程是程序的一次执行 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 ...
  • 进程具有三基本状态: 1、就绪状态。某些进程“万事俱备”(必要资源),只差CPU。(就绪队列) 2、执行状态。某进程占有CPU并在CPU上执行其程序。 3、阻塞状态。某些进程由于某种原因不能继续运行下去,等待...
  • 操作系统——进程状态图解 两状态进程模型,进程被分为运行态和非运行态,这两个状态就是字面意思很好理解。 当一个处于运行态的进程终止后,我们就要选一个处于非运行态的进程进入运行态,按照道理,我们应该选非...
  • (1)R运行状态(runing):并不意味着进程一定在运行中,也可以在运行队列里; (2)S睡眠状态(sleeping):进程在等待事件完成;(浅度睡眠,可以被唤醒) (3)D磁盘睡眠状态(Disk sleep):不可中断睡眠(深度...
  • 进程-三类型,三种状态

    千次阅读 2020-03-12 13:59:15
    (一)进程的概念 ...进程控制块是系统用来控制和管理进程,获得进程状态和进程存在特征的唯一标识。 包括: 进程标识 PID 进程用户 进程状态 进程的优先级 文件描述符表 (四)进程的三类型 (1)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,213,871
精华内容 485,548
关键字:

哪种状态属于进程的状态