码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2018-05-29 17:12:39      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:log   IV   自动   font   waitpid   water   http   pes   line   

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()

标签:log   IV   自动   font   waitpid   water   http   pes   line   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!