1.等待回收的两个函数wait()和waitpid()函数

  1.1 wait(int *status)的用法:阻塞函数,等待任意一个子进程的返回。

    *wait(NULL):对子进程的结束状态不关心;

    *wait(status)  可以通过statu查看子进程的结束状态。

  int statu;

  wait(&statu);

  if(WIFEXITED(statu)){      //正常退出
       printf("正常结束code:%d\n",WEXITSTATUS(statu));//code状态码用于表示成功与否
    }else if(WIFSIGNALED(statu)){//接收信号退出
       printf("异常结束signo:%d\n",WTERMSIG(statu));
    }

   

2.waitpid()的用法

  pid_t waitpid(pid_t pid, int *status,int options);

参数:.pid == -1 等待任一子进程。
     .pid > 0 等待进程号为pid的进程返回
     .pid == 0 等待任何一个组id和父进程组id相同的进程的返回
     .pid < -1 等待任何一个进程的组id号和参数pid绝对值相同的进程

 options:(可以多个条件一起用 |)

   WNOHANG     return immediately if no child has exited.

WUNTRACED   also return if a child has  stopped  (but  not  traced  via
                   ptrace(2)).   Status for traced children which have stopped
                   is provided even if this option is not specified.

WCONTINUED  also return if a stopped child has been resumed by deliveryof SIGCONT.

对status状态的操作:
   .WIFEXITED(status)若子进程为正常终止,则为真。
   对于这种情况可执行WEXITSTATUS(status)求得终止码。

.WIFSIGNALED(status) 若为异常终止子进程,则为真(接到一个不捕捉的信号)。
   对于这种情况,可执行WTERMSIG(status)取使子进程终止的信号编号。
   另外某些实现定义宏:WCOREDUMP(status)若已产生终止进程的core文件,则它返回真
 
   .WIFSTOPPED(status) 若为当前暂停子进程的返回的状态,则为真。
   对于这种情况,可执行WSTOPSIG(status)取使子进程暂停的信号编号

最新文章

  1. Selenium-java-获取当前时间
  2. EF Code First Migrations数据库迁移
  3. 《Qt Quick 4小时入门》学习笔记3
  4. Cocos2d-x 3.2 学习笔记(二)创建自定义项目
  5. ext4 文件系统的一些记录
  6. 【转】代码编辑器(一)-TSynCompletionProposal用法
  7. Cocos手游录制插件:cocos-plugin
  8. TFS2012常见问题及解答
  9. eclipse中DDMS的LOGcat只有一列level
  10. SQL Server用户自定义类型与统计信息
  11. WebRequestHelper
  12. layui打印html页面转成pdf
  13. springMVC中上传图片
  14. jquery append()方法与html()方法使用方法差别
  15. 如何将 iOS 工程打包速度提升十倍以上
  16. JS页面跳转并及时刷新
  17. 1&lt;=portNo&lt;=4竟然在keil4.71里面不报错
  18. WikiMedia system architecture
  19. php特级课---3、常用的网站加速技术有哪些
  20. Web前端培训学习心得

热门文章

  1. Cracking Digital VLSI Verification Interview 第二章
  2. SEO教程:快速增加360搜索引擎收录,360自动推送批量推送版
  3. CSS3新特性—animate动画
  4. UML-设计对象时涉及的制品有哪些?
  5. 第二季 第四集 part3
  6. CodeForces-1076B Divisor Subtraction 找规律
  7. POJ 1860:Currency Exchange
  8. Paper Review: Epigenetic Landscape, Cell Differentiation 02
  9. 将元素平分成差值最小的两个集合(DP)
  10. spring获取当前动态代理对象