Linux进程管理 – 进程的状态

1、R状态:运行状态(kill -9 可以杀死它)

一个CPU不可能同时处理<多个进程>

R状态 表示:<正在CPU上运行>或者<进入CPU可执行队列>的<进程>

# ps a -o user,cmd,stat

2、S状态:可中断唤醒的睡眠状态(kill -9 可以杀死它)

S(大写)状态 表示:可以被唤醒的<睡眠进程> 【当前尚未进入<CPU运行队列>】

3、D状态:不可中断唤醒的睡眠状态

在<进程>与<某些硬件>进行交互时,可能需要处于<不可中断唤醒的睡眠状态>,从而避免<交互过程>被打断,防止<设备>陷入<不可控的状态>

这种<不可中断唤醒的睡眠状态>总是非常短暂

因此,基本上不可能捕捉到<不可中断唤醒的睡眠状态>

4、T状态:被<控制信号>停止(Ctrl+z 暂停进程)

我们可以<Ctrl+Z> 暂停一个<前台进程>,如果之后需要继续运行,则可以使用<jobs和fg>来恢复运行。

类似于缩放到后台,避免影响此刻需要做的其他操作

查看:<进程>的<T暂停状态>

# ps -A -o user,pid,ppid,stat | grep "T"

查看:与<当前会话>关联的<后台进程>

恢复运行:编号为1的<后台进程>

进程状态字母解释

T 被<控制信号>停止

t 在跟期间,被<调试器>停止

X 表示:死了(我们应该是永远看不到在状态值的)

Z 表示:处于<僵尸状态>,进程已终止,但未被<父进程>回收

< 高优先级

N 低优先级

L 有些页被锁进内存

S 包含子进程

+ 位于前台的<进程组>

I 多线程,克隆线程 multi-threaded (using CLONE_THREAD,like NPTL pthreads do)

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发