
写这个的目的是避免上面的还没执行完就开始执行后续的程序了。
我举个例子,你在执行备份后删除原文件 *** 作,备份还没进行完,程序就开始删除了。这样就会出错了。
当然你这里后续没有 *** 作,wait只是在等待上面的全部做完然后退出整个程序。
linux中的wait函数等到一个子进程退出就会返回,恢复到执行状态。要想等所有子进程退出可以用waitpid函数pid_t wait(pid_t pid,int * status,int options)
pid>0时,只等待pid与该参数相同的子进程,如果该子进程一直没有退出,那么父进程会一直阻塞;
pid=0时,会等待同一个进程组的子进程,若子进程加入了其他进程组,waitpid()不再关心它的状态;
pid=-1时,waitpid()与wait()函数相同,将阻塞等待并回收一个子进程;
pid<-1时,会等待指定进程组的任何子进程,进程组的id等于pid的绝对值;
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)