wait操作接口
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)取使子进程暂停的信号编号
wait操作接口的更多相关文章
- EF实体框架数据操作接口(转)
		
//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司 ...
 - go语言之进阶篇文件常用操作接口介绍和使用
		
一.文件常用操作接口介绍 1.创建文件 法1: 推荐用法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对 ...
 - django学习-数据库操作接口API--(CRUD)
		
初试API(数据库操作接口CRUD) 现在我们进入交互式python命令行,尝试一下django为你创建的各种API,通过以下命令打开python命令行: py -3 manage.py shell进 ...
 - Linux 文件操作接口
		
目录 Linux 文件操作接口 C语言文件操作接口 C语言文件描述 fopen() r模式打开文件 w模式打开文件 a模式打开文件 其他模式类似 fclose() fwrite() fread() 系 ...
 - 关于Linux 交互(用户操作接口)
		
Linux 系统提供两种基本接口给用户操作:命令行,图形界面. 不同接口也有相应的访问终端. 一.命令行 Command Line Linux系统命令行,一般指 Shell. Shell 接受经键盘输 ...
 - ioctl、文件操作接口函数以及nand的升级模式的操作过程详解
		
概述 内核中驱动文件的操作通常是通过write和read函数进行的,但是很多时候再用户空间进行的操作或许不是内核中公共代码部分提供的功能,此时就需要使用一种个性化的方法进行操作--ioctl系统调用. ...
 - springboot~jpa个性化数据操作接口
		
jap是个全能仓储 jap把很多数据库访问都封装了,并且提交了默认的一切数据方法签名的约定,大家按着约定走,可以不写SQL语句,而如果比较复杂的情况,也需要写SQL,这里我们介绍一下查询和修改的实例方 ...
 - [svc]linux的ip命令操作接口和路由表
		
参考: https://www.tecmint.com/ip-command-examples/ 学会linux的配置ip,配置网关,添加路由等命令 man ip man ip address man ...
 - 关于文件的INode与Java中的文件操作接口
		
本文由作者周梁伟授权网易云社区发布. 近日做的项目中涉及到多进程共同读写多个文件的问题,文件名和最后修改时间都是可能会被频繁修改的,因而识别文件的唯一性会产生相当的麻烦,于是专门再学习了一下文件系统对 ...
 - SIM800/SIM900/SIM7000/SIM7600底层操作接口_句柄方式完全分离通信底层
		
使用SIMCOM公司通信模块将底层的通信与应用完全进行了分离,便于移植. SIMCOM.h //定义了相关的结构体与类型. SIMCOM_AT.c//定义了底层的AT接口 SIMCOM_GSM.c// ...
 
随机推荐
- Python说文解字_Python之多任务_01
			
Python 之 多任务: Python之多任务是现在多任务编程运用Python语言为载体的一种体现.其中涵盖:进程.线程.并发等方面的内容,以及包括近些年在大数据运算.人工智能领域运用强大的GPU运 ...
 - (转)out.writer和out.print
			
JSP中out.write()和out.print()的区别 out对象的类型是JspWriter.JspWriter继承了java.io.Writer类. 1)print方法是子类JspWriter ...
 - linux-线程同步之信号量
			
1.任务:用户从终端输入任意字符然后统计字符个数显示,输入end则结束 2.使用多线程实现:主线程获取用户输入并判断是否退出,子线程计数 #include <stdio.h> #inclu ...
 - Springboot注解--@Controller和@RestController的区别
			
1.使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面:若返回json等内容到页面,则需要加@ResponseBody注解 2 ...
 - linux的/dev内容介绍
			
http://www.cnblogs.com/lidabo/p/4505360.html 这个结合那个linux的终端介绍 https://zhidao.baidu.com/question/1742 ...
 - 【MySQL优化】数据库结构优化
			
原则: 设计表结构,字段类型,最小化磁盘存储的空间,减少IO.数据库操作中最为耗时的操作就是 IO 处理,大部分数据库操作 90% 以上的时间都花在了 IO 读写上面.所以尽可能减少 IO 读写量,可 ...
 - UML-类图-关键字如何使用?
			
部分预定义UML关键字: 例如: 加上关键字,明确,清晰.
 - STL——算法
			
以下内容大多摘自<C++标准程序库> STL提供了一些标准算法,包括搜寻.排序.拷贝.重新排序.修改.数值运算等.算法并不是容器类别的成员函数,而是一种搭配迭代器使用的全局函数. #inc ...
 - css 传数据套路
			
<input type=hidden> 那么该标签就不会显示 但是我们可以用这个标签储存数据 这是一个利用标签元素隐藏
 - MySQL--OPTIMIZE TABLE碎片整理
			
参考:http://blog.51yip.com/mysql/1222.html BLOB和TEXT值会引起一些性能问题,特别是在执行了大量的删除操作时.删除操作会在数据表中留下很大的空洞,以后填入这 ...