当前位置:   article > 正文

理解进程status的二进制位表示及进程等待(是什么,为什么,怎么办)

理解进程status的二进制位表示及进程等待(是什么,为什么,怎么办)

 信号编号:低7位

状态编号:次低8位

 1.子进程退出后会变为僵尸进程,将退出结果写入自身的task_struct结构体

2.wait/waitpid是一个系统调用->OS可以读取子进程的task_struct 

1.为什么要进行进程等待?

1.将子进程(僵尸进程释放)。

2.获取子进程状态

2.进程等待是什么?

通过系统调用让父进程等待子进程的一种方式。

3.如何做到进程等待?

通过wait和waitpid,指定等待方式(阻塞,非阻塞)获取子进程退出结果,以阻塞或非阻塞的方式对进程进行等待。

轮询:多次非阻塞等待。

阻塞:父进程一直等待并检测子进程的状态

非阻塞:父进程检测子进程的状态,(如果子进程没有就绪,直接返回)-> (没一次都是一次非阻塞等待)

非阻塞有什么好处?

不会占用父进程的所有资源,可以在轮询期间执行其他任务。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/873897
推荐阅读
相关标签
  

闽ICP备14008679号