linux進程wait
發布時間: 2023-10-30 04:15:41
❶ linux 如何使用`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的絕對值;
熱點內容