進程等待:
父進程等待子進程的推出,獲取子進程返回值,釋放資源防止殭屍進程。
操做:ide
pid_t wait(int* status)
status:一個整形空間的地址,接受子進程返回值;
返回值:成功返回子進程pid,失敗返回-1;**
等待任意一個子進程退出,如沒有退出,一直阻塞等待;code
阻塞:爲了完成某一目的調用某一個功能,不具有完成條件,則一直等待;
調用以前有子進程退出,調用時就會當即處理進程
pid_t waitpid(pid_t childpid,int *status,int options)
能夠等待一個,也能夠等待指定的一個;
能夠阻塞等待也能夠非阻塞等待
childpid:-1等待任意子進程
大於0表示等待指定子進程
status用於獲取退出子進程的返回值
option:0-默認阻塞等待
WNOHANG-設置非阻塞等待
返回值:錯誤返回-1;
沒有子進程退出返回0;
有子進程退出返回子進程pid資源
.it
非阻塞:爲了完成某一功能,發起一調用,當前不具有條件,則當即返回;
只要調用,有退出就直接處理;io