waitpid 函數詳解

關於Linux中waitpid函數的一些使用說明:函數

 

1 #include<sys/types.h>
2 
3 #include<sys/wait.h>
4 
5 定義函數 :pid_t waitpid(pid_t pid,int * status,int options);

 

waitpid函數有三個參數:pid和指向返回狀態所在單元的指針和一個用來指定可選項的標識符。若是pid爲-1 ,waitpid就等待任何一個子進程,若是pid>0 就是等待pid指定的那個進程結束,參數pid還存在另外的兩種可能pid爲0,就是等待與調用者在同一個進程組中的任意子進程。最後pid<-1 waitpid就是由pid的絕對值指定的進程組中任意一個子進程。spa

 

waitpid的參數options是一個或多個標緻符按位「或」的結果,即便子進程的狀態不是馬上可用的,選項WNOHANG也會使waitpid返回,選項WUNTRACED會使waitpid報告已經被中止的未報告的子進程的狀態。指針

 

函數的返回值有三種:code

 ECHILD 調用者沒有等待子進程(wait),或是pid指定的進程或進程組不存在(waitpid)或者pid指定的進程組中沒有那個成員是調用者的子進程blog

 EINTR 函數被信號中斷進程

 EINVAL waitpid的參數options是無效的it

相關文章
相關標籤/搜索