运行态 R (TASK_RUNNING):此时进程正在使用 CPU 资源
暂停态 T (TASK_STOPPED or TASK_TRACED):向进程发送一个 SIGSTOP 信号,
它就会因响应该信号而进入 TASK_STOPPED 状态
向进程发送一个 SIGCONT 信号,可以让其从 TASK_STOPPED 状态恢复到 TASK_RUNNING 状态,
当进程正在被跟踪时,它处于 TASK_TRACED 这个特殊的状态。
“正在被跟踪”指的是进程暂停下来,等待跟踪它的进程对它进行操作
可中断睡眠态 S (TASK_INTERRUPTIBLE):处于这个状态的进程因为等待某些事件的发生而进入睡眠状态
不可中断睡眠状态 D (TASK_UNINTERRUPTIBLE):不可中断睡眠状态又被称作深度睡眠态,
是把信号传递到这种睡眠状态的进程不能改变它的状态,也就是说它不响应信号的唤醒,
这种状态一般由 IO 引起,同步 IO 在做读或写操作时
(比如进程对某些硬件设备进行操作,等待磁盘 IO,等待网络 IO)
此时 CPU 不能做其它事情,只能处于这种状态进行等待,这样一来就能保证进程执行期间不被外部信号打断
僵死态 Z (TASK_DEAD - EXIT_ZOMBIE):僵死态又被称之为僵尸态或者退出态,
进程在退出的过程中,除了 task_struct 数据结构(以及少数资源)以外,
进程所占有的资源将被系统回收,此时进程没法继续运行了,
但它还有 task_struct 数据结构,所以被称为僵死态
之所以保留 task_struct 数据结构,是因为 task_struct 中保存了进程的退出码、以及一些其他的信息,
而其父进程很可能会关心这些信息,因此会暂时被保留下来