友链

#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <string.h>
#include <sys/wait.h>
int main(int argc, char *argv[])
{/*#include <sys/types.h>#include <sys/wait.h>pid_t wait(int *wstatus);pid_t waitpid(pid_t pid, int *wstatus, int options);回收指定进程号的进程如果pid参数为0,那么就表示回收当前进程组的所有进程如果pid为-1,就表示回收所有的子进程,不管是不是在同一个进程组如果pid<-1,回收某个进程组的所有子进程,pid的绝对值就是组idoptions参数用于设置阻塞或者非阻塞0是阻塞WNOHANG是非阻塞返回值如果大于0就是被回收的子进程的pid=0表示还有子进程=-1表示已经没有子进程了*/pid_t pid;// 现在有一个父进程,我们创建5个子进程for (int i = 0; i < 5; i++){pid = fork();if (pid == 0)break; //防止子进程再创建子进程}if (pid > 0){while (1){sleep(1);printf("PARENT, pid: %d\n", getpid());int st;int ret = waitpid(-1, &st, WNOHANG);if (ret == -1){break;}// 表示还有子进程else if (ret == 0){continue;}// 表示回收了一个子进程else if (ret > 0){if (WIFEXITED(st)){printf("退出的状态码是: %d\n", WEXITSTATUS(st));}if (WIFSIGNALED(st)){printf("被 %d 信号终止了\n", WTERMSIG(st));}printf("child dead, pid = %d\n", ret);}}}if (pid == 0){while (1){sleep(1);printf("CHILD, pid: %d\n", getpid());}}return 0;
}

C语言waitpid函数相关推荐

  1. C语言API函数大全(转载)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u010258235/article/d ...

  2. c语言system返回信息,理解c语言system函数的返回值

    作者:新浪微博(@NP等不等于P) 计算机学习微信公众号(jsj_xx) c语言中的system函数可以说是程序执行时的一道重生之门,其重生妙效犹如我们之前<透析硬链接和软链接的区别>一文 ...

  3. Linux wait() 和 waitpid()函数介绍

    转载自http://blog.csdn.net/wallwind/article/details/6998602 当一个进程正常或异常终止的时候,内核就像其父进程发送SIGCHLD信号,因为子进程是个 ...

  4. 写的函数符号表里没有_你有没有想过,C语言 main 函数到底为啥这么写?

    但凡是学过C语言的人,都知道要先写main函数,然而很多时候我们看到的main函数却各有差异,这究竟是为啥?哪种是对的呢?今天我们就来聊聊main函数. 那么main函数一共有多少个版本呢? 1.ma ...

  5. R语言str_trim函数去除字符串中头部和尾部的空格

    R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿

  6. R语言sqrt函数为数值开平方根实战

    R语言sqrt函数为数值开平方根实战 目录 R语言sqrt函数为数值开平方根实战 #基本语法 #sqrt函数开平方根

  7. R语言数学函数:abs绝对值、sqrt平方根、ceiling向上近似整数、floor向下近似整数、trunc去除小数部分、round近似到指定小数位、signif近似到有效数字、三角函数、指数、对数

    R语言数学函数:abs绝对值.sqrt平方根.ceiling向上近似整数.floor向下近似整数.trunc去除小数部分.round近似到指定小数位.signif近似到有效数字.三角函数.指数.对数 ...

  8. R语言sd函数计算数值标准差实战(Standard Deviation)

    R语言sd函数计算数值标准差实战(Standard Deviation) 目录 R语言sd函数计算数值标准差实战(Standard Deviation) #基本语法 #sd

  9. R语言optimize函数一维优化实战

    R语言optimize函数一维优化实战 目录 R语言optimize函数一维优化实战 #基础语法 #优化用户自定义的函数

最新文章

  1. Neutron — Hierarchical Port Binding(层次化端口绑定)
  2. abap submit 的使用方法
  3. Linux 之二 Linux 多线程
  4. JavaWeb之国际化
  5. Deltix Round, Summer 2021 (open for everyone, rated, Div. 1 + Div. 2)
  6. Spring Data JPA 从入门到精通~JpaSpecificationExecutor示例
  7. Java-主方法main()的解析
  8. 深度解码企业文化体系
  9. 快速掌握用户分层模型(RFM)的使用方法|【业务模型】
  10. Go面向对象---音乐库案例
  11. html5 video断点续播,vue-video-player 断点续播的实现
  12. java实现三方登陆:微信登陆功能的实现
  13. 【5G模组】讨论RSSI,RSRP,RSRQ and SINR
  14. TSP问题—Hopfield神经网络算法实现
  15. 目前有哪些比较好的App流量变现的方法?
  16. RSA 2022/8/17
  17. UidChange和后台行为受限
  18. 【UEFI/BIOS】UEFI Shell Command (UEFI Shell 命令)篇目一
  19. springboot 打jar包时分离配置文件
  20. 信管——苦命的专业,到底是“技术”,还是“管理”?

热门文章

  1. 教你查询快递单号物流多次派件的单号
  2. 基于麦克风阵列波束成形声源定位算法实现
  3. CVPR 2021 Tutorial 可解释性机器学习汇总!视频 + PDF附下载
  4. 马化腾团队捐3.5亿给深圳大学,为何企业家对大学越来越大方?
  5. Residual Learning
  6. Java从小兵到指挥官领兵作战—线程高并发扫盲篇
  7. 大起大落,蚂蚁上市被叫停,蚂蚁的程序员们怎么样了?
  8. 企业即时通讯是什么?可以应用在哪些场景?
  9. python实现掷骰子并数据可视化
  10. 从零开始实现发送云短信