进程状态 僵尸和孤儿

一般来说进程的状态是如下图所示的

 

要想了解进程状态还是需要从某个具体的操作系统出发,详细的了解每个状态

从Linux内核来看

其中包含这么多的进程状态,

R - 状态 就是运行状态,表示可以在cpu上运行,但是不一定正在占用CPU,这是因为进程控制块是在一个运行队列中的,所以有可能在等着CPU来调用

S状态 和 D状态是两种不同的等待状态

S是表示可中断睡眠或者是浅度睡眠,在我们完成某种任务的时候,任务条件不具备,需要等待,所以是比如向外设中写入的时候,外设正在被调用,需要等待

D表示的是深度睡眠,就是不可以被操作系统杀掉。

我们把从运行状态中的task_struct,放到等待队列中,就叫做阻塞或者挂起

把从等待状态的task_struct,放到运行队列中,就叫做唤醒

T状态就是暂停,与等待状态不同的是,所有的数据都不更新,完全暂停

t就是打断点调试时候的一个状态

X和Z 停止的状态

X表示死亡状态,系统回收进程资源 = 进程的内核相关数据结构 + 代码和数据

Z表示僵尸状态,系统为了辨别死亡信息,所产生的一个状态,数据放在task_struct中

僵尸进程和孤儿进程

僵尸进程就是子进程结束,父进程没有执行回收,一种情况就是父进程等待,没有人回收子进程,所以就产生了僵尸进程,会不断的占用系统资源

孤儿进程就是,子进程还在运行,父进程已经被干掉了,这个时候1号进程就领养了这个进程,就是孤儿进程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值