Linux4.5、进程状态(一)+https://developer.aliyun.com/article/1393973
D状态
D (disk sleep) 不可中断进程
这个我们无法演示,但是可以说明,这个状态也叫做磁盘休眠,也就是说一个进程在内存向磁盘写入代码和数据时, 该进程无法被操作系统终止回收,即使计算机资源吃紧,也不可唤出或者杀死。
需要说到的是,如果你的电脑能够查到这个状态,说明你的磁盘已经很满了,操作系统和你的计算机也快玩完了,因为在向磁盘写入数据时,再慢也不是我们能够感知的,同时还被操作系统查到了,说明你的电脑已经很卡顿了,也就快完了。
T状态
什么时候会出现T状态呢?就是进程想要访问某些硬件,但是硬件不允许,但是操作系统又不想杀死或者回收,就会出现这个状态,我们无法演示,但是可以通过信号来让进程暂停。
T (stopped) 暂停状态
恢复进程
我们kill -9 2472 杀掉进程即可。
t状态
t (tracing stop) 暂停状态
我们通过调试来展现这个状态。
此时我们直接跳到断点处,就是t中断状态。
Z状态(僵尸进程)
Z (zombie) 僵尸状态
进程在结束时会将他的task_struct数据返回给父进程,只有父进程读取了这些数据,这个子进程才会结束,如果不读取,就会处于僵尸状态,成为僵尸进程,不会被操作系统释放他的task_struct如果这样的进程很多,那么就会平白占据很多内存空间。
子进程在运行。
子进程变成僵尸,因为父进程一直没有结束,没有去读取子进程的数据。
我们平时为什么看不到Z状态呢?因为他们的父进程自动就回收了,计算机的速度很快,不要用我们的感受去衡量计算机的速度。
X状态
X (dead) 从Z状态退出就是X状态
这个不解释。
孤儿进程
如果父进程结束,但是子进程没有结束,子进程就会成为孤儿进程,被操作系统接管。
可以看到子进程后面被1号进程接管。我们可以查看一下1号进程,就是操作系统