首页 > 系统服务 > 详细

阻塞进程函数 wait()和waitpid()

时间:2018-05-29 16:52:25      阅读:387      评论:0      收藏:0      [点我收藏+]

1.  wait()和waitpid()函数说明

wait()

进程一旦调用了wait(), 就立即阻塞自己,由wait自动分析是否有当前进程的某个子进程已经退出,如果让它找到了一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到一个子进程结束或者该进程接到了一个指定的信号为止。


waitpid()

waitpid()的作用和wait()一样,但它并不一定要等待第一个终止的子进程,它还有若干选项,如可提供一个非阻塞版本的wait()功能等。实际上wait()函数只是waitpid()函数的一个特例,在Linux内部实现wait()函数时直接调用的就是waitpid()函数。
wait()函数的实现:

static inline  pid_t  wait(int *wait_stat)  

{  

  return waitpid(-1,wait_stat,0);  

}  



2.  wait()和waitpid()函数格式说明

(1)  wait()函数格式如下:

技术分享图片

 

(2)   waitpid()函数格式如下

技术分享图片

阻塞进程函数 wait()和waitpid()

原文:https://www.cnblogs.com/gangzilife/p/9105723.html

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