Linux 进程类型及运行状态介绍

进程类型

  • 守护进程:在系统引导过程中启动的进程,跟终端无关的进程;
  • 前台进程:跟终端相关,通过终端启动的进程;

注意:也可把在前台启动的进程送往后台,以守护模式运行。

进程状态

  • 运行态:running;
  • 就绪态:ready;
  • 睡眠态:sleeping;
    • 可中断:interruptable;
    • 不可中断:uninterruptable;
  • 停止态:stopped;
  • 僵死态:zombie。

运行态和就绪态

运行态和就绪态不用多说了,顾名思义。

睡眠态

睡眠态是指进程由于长时间无动作,被暂停运行的状态。睡眠态分为两种,一种是可中断( interruptable ),还有一种是不可中断( uninterruptable )。

可中断睡眠态 是指进程可被随时唤醒。一般指长时间无动作被睡眠的进程,可被随时唤醒。

不可中断睡眠态 是指进程不可被随时环境,需要等待特定动作完成。一般指需要其他动作配合的进程,比如需要加载特大文件,而被安排睡眠的进程,必须等文件加载完成后,才能被唤醒。

停止态

暂停于内存中的进程,但不会被调度,除非手动启动之。

僵死态

父进程结束后,未主动结束子进程,导致子进程完成任务后,无法自动释放资源。这种问题一般是由程序设计失误或者强制杀死父进程引起的。

进程分类

  • CPU-Bound : cpu 密集型进程,此类进程会分配更多的 cpu 资源去执行(一般为非交互性进程)。
  • IO-Bound : IO 密集型进程,此类进程会分配更多的 IO 去执行(一般为交互性进程)。