Linux进程状态总结

简介: Linux进程状态总结


  • R(Task Running),处于执行中或者可执行的处于CPU队列中的线程状态。
  • S(TASK_INTERRUPTIBLE),处于睡眠状态,可被中断唤醒。
  • D(TASK_UNINTERRUPTIBLE),处于休眠状态,不可中断,意味着不会响应信号,例如使用kill无法杀死进程。
  • T (TASK_STOPPED or TASK_TRACED), 进程停止或者跟踪状态,进程接收到信息SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号以后处于这两个状态。处于TASK_STOPPED状态的线程收到 SIGCONT可以恢复到TASK_RUNNING状态。
  • Z (TASK_DEAD - EXIT_ZOMBIE)退出状态,进程成为僵尸进程 ,进程已经处于推出状态,但是还保留这task_struct,等待父进程的回收。
  • X (TASK_DEAD - EXIT_DEAD)退出状态,进程即将被销毁,正常情况下应该几乎看不到处于这个状态的进程。

一般而言,在Linux系统下可以通过ps aux命令查看到所有的进程信息,其中STAT列,表示的就是进程的状态。通常青枯杨下还会跟随如下信息,表示更加详细的状态。

  • < 高优先级
  • N 低优先级
  • L 有页在内存中处于locked状态
  • s进程领导者,含有子进程。
  • I 多线程
  • +位于前台进程组

我们经常采用vmstat 2命令查看当前系统的CPU队列,队列中有两列r和b,r代表运行中的或者处于可运行状态的CPU队列长度,如果这个长度超过CPU的核数,则代表目前已经过过载,因为CPU来不及处理当前的线程。

b代表的是被阻塞的线程,可以看作是处于S、D、T状态的线程数量。

相关文章
|
3月前
|
Linux 调度
Linux进程状态
Linux进程状态
|
3月前
|
存储 算法 Linux
【Linux系统编程】进程状态
【Linux系统编程】进程状态
|
5月前
|
算法 Linux Shell
Linux进程状态
Linux进程状态
|
6月前
|
算法 Linux Shell
【Linux进行时】进程状态
进程状态: ❓假设我们在上课,在B站上上课,请问我们的B站是不是一直运行呢?💡不是的! ❓假设我们同时打开了B站和PDF阅读器时,是怎么运行的呢?
367 0
|
27天前
|
Linux Shell 调度
【Linux】进程排队的理解&&进程状态的表述&&僵尸进程和孤儿进程的理解
【Linux】进程排队的理解&&进程状态的表述&&僵尸进程和孤儿进程的理解
|
1月前
|
自然语言处理 Linux Shell
【Linux】—— 详解进程PCB和进程状态
【Linux】—— 详解进程PCB和进程状态
|
1月前
|
Linux 调度
Linux--进程状态与优先级
Linux--进程状态与优先级
|
5月前
|
NoSQL Java Linux
【Linux】第十三站:进程状态
【Linux】第十三站:进程状态
47 1
|
3月前
|
存储 NoSQL 物联网
『 Linux 』使用fork函数创建进程与进程状态的查看(下)
『 Linux 』使用fork函数创建进程与进程状态的查看(下)
|
3月前
|
Linux Shell Windows
『 Linux 』使用fork函数创建进程与进程状态的查看(上)
『 Linux 』使用fork函数创建进程与进程状态的查看(上)