linux中的等待函数wait.??可以进程之间的同步等待,用来阻塞主进程,等待子进程的结果,从而对其从结果进行控制。wait函数会暂停当前进程的执行,直到其中的任务子进程执行完毕,或者满足某些条件为止,也就是说主进程只有等待子进程执行结束,才能返回值。
成都创新互联公司专注于洪湖企业网站建设,响应式网站,成都做商城网站。洪湖网站建设公司,为洪湖等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务
wait函数原型为:int wait(int *status)。其中status为指针,指向接收此函数返回值的变量。wait函数有如下两种使用方式:
一种是waitPID,其用法如下:
int waitpid(pid_t pid, int *status, int options);
其中pid为指定的子进程的进程标识符,status为接收返回值的变量的指针,options指定等待的选项。
另一种是wait,其用法如下:
int wait(int *status);
其中status为接收返回值的变量的指针,表示不指定任何子进程。
接下来我们以一段waitpid函数的代码为例,对wait函数做一个详细解析:
pid_t pid = fork();
if (pid == -1) {
printf("Error: Forking failed!");
exit(1);
}
else if (pid == 0) {
printf("Child process.\n");
exit(0);
}
else {
int status;
waitpid(pid, &status, 0);
printf("Following process has finished with the exit code %d\n", status);
}
首先,它通过fork()函数创建了一个子进程,并且把子进程的进程标识符保存到了pid中。然后,它检查这个子进程是否创建成功,若成功,则进入else分支。在else中,它使用waitpid函数,等待由pid表示的子进程结束,并将结束返回值保存在status中(如果子进程未结束,则会暂停在这里等待)。最后,将结束返回值打印出来。
以上就是linux中的等待函数wait的深度解析。wait函数的使用非常方便,正确使用它可以让进程更好地控制子进程的结果。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
分享文章:有关等待Linux:wait函数深度解析(waitlinux)
转载来源:http://www.csdahua.cn/qtweb/news30/539180.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网