wait 和waitpid 的引數解析

2021-09-26 13:31:40 字數 855 閱讀 3328

#include

#include

pid_t wait(int *status);

返回值:

成功成功結束執行的子程序的程序號

失敗返回-1

pid_t waitpid(pid_t pid, int *status, int options);

pid>0

只等待程序id等於pid的子程序,不管其它已經有多少子程序執行結束退出了,只要指定的子程序還沒有結束,waitpid就會一直等下去。

pid=-1

等待任何乙個子程序退出,沒有任何限制,此時waitpid和wait的作用一模一樣。

pid=0時

等待同乙個程序組中的任何子程序,如果子程序已經加入了別的程序組,waitpid不會對它做任何理睬。

pid<-1

等待乙個指定程序組中的任何子程序,這個程序組的id等於pid的絕對值。

* 引數status如果不是乙個空指標,則終止程序的終止狀態就存放在status所指向的單元。

* 引數status如果是乙個空指標,則表示父程序不關心子程序的終止狀態

option

wnohang

若由pid指定的子程序未發生狀態改變(沒有結束),則waitpid()不阻塞,立即返回0

wuntraced

返回終止子程序資訊和因訊號停止的子程序資訊

wcontinued

返**到sigcont訊號而恢復執行的已停止子程序狀態資訊

返回值:

成功成功結束執行的子程序的程序號

失敗返回-1

wnohang

沒有子程序退出返回0

wait 和 waitpid 的區別

父程序可能比子程序早結束,如果父程序要阻塞以等待子程序,可以使用wait或waitpid函式,wait函式只是waitpid函式的簡化版。include pid t wait int statloc pid t waitpid pid t pid,int statloc,int optins 區別 ...

wait和waitpid的區別

函式原型 include include pid t wait int status pid t waitpid pid t pid,int status,int options 概括 wait函式是waitpid函式的包裝。1.當pid 1,等待任何乙個子程序退出,和wait函式作用一樣。2.當p...

wait和 wait pid函式用法

wait和 wait pid函式用法 wait的函式原型是 i nclude 提供型別pid t的定義 i nclude pid t wait int status 程序一旦呼叫了wait,就立即阻塞自己,由wait自動分析是否當前程序的某個子程序已經退出,如果讓它找到了這樣乙個已經變成殭屍的子程序...