ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

unix环境编程第八章 8.6函数wait和waitpid

2021-10-08 14:01:56  阅读:207  来源: 互联网

标签:8.6 pid 终止 unix 进程 statloc waitpid wait


当一个进程正常或者异常终止的时候,内核就向其父进程发送SIGCHILD信号。

父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用执行的函数。

调用wait和waitpid的进程:

  • 如果其所有子进程都还在运行,则阻塞
  • 如果一个子进程已终止,正等待父进程获取其终止状态,则取得该子进程的终止状态立即返回
  • 如果它没有任何子进程,则立即出错返回
#include <sys/wait.h>
pid_t wait(int* statloc);
pid_t waitpid(pid_t pid,int *statloc,int options);
//两个函数返回值:若成功,返回进程ID,若出错,返回0

函数区别如下:

  • 在一个子进程终止之前,wait使其调用者阻塞,而wait的有个一选项可使调用者不阻塞。
  • waitpid并不等待在其调用之后的第一个终止子进程,它有若干个选项,可以控制它所等待的子进程。

这两个函数的参数statloc是一个整形指针,如果statloc不是一个空指针,则终止进程的终止状态就存放在它所指向的单元内。如果不关心终止状态,则可将参数指定为空指针。

以上内容来源于网络,仅作本人学习笔记使用,关于本书请参APUE

标签:8.6,pid,终止,unix,进程,statloc,waitpid,wait
来源: https://blog.csdn.net/weixin_43873960/article/details/120586650

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有