首页 > 系统服务 > 详细

fork系统调用关于如何让子进程先运行{wait(),waitpid(),sleep()}

时间:2020-10-16 10:21:51      阅读:100      评论:0      收藏:0      [点我收藏+]

在父进程里面调用wait()和waitpid()可以确保子进程先运行,因为当子进程运行完后会变成僵尸进程,此时会发送一个信号给父进程,父进程接受到信号才会运行。

有人或许会问如果在父进程调用wait之前子进程已经运行完了,父进程还会不会运行。答案:即使子进程运行完了,变成僵尸进程,父进程依然会调用wait函数来获取僵尸进程的信息来运行。

 

对于sleep函数,我还是存在一点疑问的,因为我觉得sleep只是让父进程休眠了一段时间,并不了保证子进程在这段时间里运行了,也就不能确保子进程一定先运行。但是在现实情况下,只要cpu等资源足够一般使用sleep后子进程的确要先运行。

fork系统调用关于如何让子进程先运行{wait(),waitpid(),sleep()}

原文:https://www.cnblogs.com/lhyzdd/p/13823973.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!