我在网上找了半天都是在说wait()和waitpid()的详解或者是单个子进程的回收。答非所问。
很简单,根据wait()或者waitpid()的函数特性。没有子进程时返回-1。
while(-1 != wait(NULL))
{
}
//另:因为waitpid(pid_t pid,int*status,int options)函数不提供返回无子进程的值,也就是出错。
while(-1 != waitpid(-1,NULL,WNOHANG))
{
}
我在网上找了半天都是在说wait()和waitpid()的详解或者是单个子进程的回收。答非所问。
很简单,根据wait()或者waitpid()的函数特性。没有子进程时返回-1。
while(-1 != wait(NULL))
{
}
//另:因为waitpid(pid_t pid,int*status,int options)函数不提供返回无子进程的值,也就是出错。
while(-1 != waitpid(-1,NULL,WNOHANG))
{
}