• 常见的进程状态


    top 和 ps 是最常用的查看进程状态的工具,

    下面是一个 top命令输出的示例,S 列(也就是 Status 列)表示进程的状态。从这个示例里,你可以看到
    R、D、Z、S、I 等几个状态,

    $ top
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    28961 root 20 0 43816 3148 4040 R 3.2 0.0 0:00.01 top
    620 root 20 0 37280 33676 908 D 0.3 0.4 0:00.01 app
    1 root 20 0 160072 9416 6752 S 0.0 0.1 0:37.64 systemd
    1896 root 20 0 0 0 0 Z 0.0 0.0 0:00.00 devapp
    2 root 20 0 0 0 0 S 0.0 0.0 0:00.10 kthreadd
    4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
    6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
    7 root 20 0 0 0 0 S 0.0 0.0 0:06.37 ksoftirqd/0
    

    R 是 Running 或 Runnable 的缩写,表示进程在 CPU 的就绪队列中,正在运行或者正在等待运行。

    D 是 Disk Sleep 的缩写,也就是不可中断状态睡眠(Uninterruptible Sleep),一般表示进程正在跟硬件交互,并且交互过程不允许被其他进程或中断打断。

    Z 是 Zombie 的缩写,如果你玩过“植物大战僵尸”这款游戏,应该知道它的意思。它表示僵尸进程,也就是进程实际上已经结束了,但是父进程还没有回收它的资源(比如 进程的描述符、PID 等)。

    S 是 Interruptible Sleep 的缩写,也就是可中断状态睡眠,表示进程因为等待某个事件而被系统挂起。当进程等待的事件发生时,它会被唤醒并进入 R 状态。

    I 是 Idle 的缩写,也就是空闲状态,用在不可中断睡眠的内核线程上。前面说了,硬件交互导致的不可中断进程用

    D 表示,但对某些内核线程来说,它们有可能实际上并没有任何负载,用 Idle 正是为了区分这种情况。要注意,D 状态的进程会导致平均负载升高, I 状态的进程却不会。

    除了以上 5 个状态,进程还包括下面这2 个状态。

    第一个是 T 或者 t,也就是 Stopped 或 Traced 的缩写,表示进程处于暂停或者跟踪状态。向一个进程发送 SIGSTOP 信号{使进程暂停(使用SIGCONT让进程重新激活,SIGSTOP不可以捕获)}。,它就会因响应这个信号变成暂停状态(Stopped);再向它发送 SIGCONT 信号,进程又会恢复运行(如果进程是终端里直接启动的,则需要你用 fg 命令,恢复到前台运行)。而当你用调试器(如 gdb)调试一个进程时,在使用断点中断进程后,进程就会变成跟踪状态,这其实也是一种特殊的暂停状态,只不过你可以用调试器来跟踪并按需要控制进程的运行。

    另一个是 X,也就是 Dead 的缩写,表示进程已经消亡,所以你不会在 top 或者 ps 命令中看到它。
    了解了这些,

  • 相关阅读:
    perl -p -i -w -e
    s///|s()()i|/i|/g|U|u|L|l|Ul|split|join|匹配到hash|匹配到变量|`date`|$^I
    /^/m|/$/m||B|$&|$`|$'|变量捕获|()?|(?:pattern)|(?<LABEL>PATTERN)|$+{LABEL}|(|)|g{LABEL}
    ALG 4-3: Optimal Caching
    ALG 4-2: Scheduling to Minimize Lateness
    ALG 4-1: Interval Scheduling
    ALG 3-n: Practice
    ALG 3-6: Directed Acyclic Graphs and Topological Ordering (有向无环图与拓扑排序)
    ALG 3-5: Connectivity in Directed Graphs (有向图的连接性)
    ALG 3-4: Testing Bipartiteness
  • 原文地址:https://www.cnblogs.com/mrwuzs/p/11341915.html
Copyright © 2020-2023  润新知