Linux进程管理---进程的状态(R,S,D,T,t,X,Z)_进程 r s d

S状态表示的浅度睡眠,是可以由control+C来终止的。比如我们使用sleep函数让进程睡眠200s,就可以使用control+C来进行终止。
而下面要说的深度睡眠D是不可以终止的。
当我们进程已经加载到CPU且磁盘已经就绪的时候,如果进程需要将信息写到磁盘上,我们知道外设的访问时间都教长,这个过程是需要时间的。因此进程还需要等待,此时操作系统发现这个进程在等待,如果将其干掉,显然是不合适的,因为磁盘需要将读写成功与否的信息返回给该进程。这就是我们所说的深度睡眠,也就是D状态。处于D状态的进程是不能被control+C干掉的。

(2)Linux下演示

//测试S进程 
while(1)    
{    
  printf("test S proess\n");                                   
}    

在这里插入图片描述
运行后我们发现处于S+状态,这是因为printf是对外设–显示器进行打印的,而显示器比较慢,等待其就绪是需要时间的,因此test大部分时间处于S+状态,只有少部分时间处于R状态。

4.T状态

(1)概念

程序处于暂停状态,此时信息没有任何更新,是完全的暂停。处于S状态的进程会有一些数据更新,比如睡眠了多少秒等。

(2)Linux下演示

我们可以使用

kill -l

指令来查看kill的命令:
在这里插入图片描述
其中我们第18个为进程的继续,第19个为进程的停止,我们可以拿之前的程序来进行测试:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值