我在网上找了半天都是在说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)) { }