程序一旦呼叫了 wait,就
立即阻塞自己,由wait自動分析是否當前程序的某個子程序已經退出
,如果讓它找到了這樣乙個已經變成殭屍的子程序,wait 就會收集這個子程序的資訊, 並把它徹底銷毀後返回;如果沒有找到這樣乙個子程序,wait就會一直阻塞在這裡,直到有乙個出現為止。
wait(等待子程序中斷或結束)
相關函式 waitpid,fork
表頭檔案
#include
#include
定義函式 pid_t wait (int * status);
函式說明
wait()會暫時停止目前程序的執行,直到有訊號來到或子程序結束。如果在呼叫wait()時子程序已經結束,則wait()會立即返回子程序結束狀態值。子程序的結束狀態值會由引數status 返回,而子程序的程序識別碼也會一快返回。如果不在意結束狀態值,則引數status 可以設成null。子程序的結束狀態值請參考waitpid()。
返回值如果執行成功則返回子程序識別碼(pid),如果有錯誤發生則返回-1。失敗原因存於errno 中。
範例一#include
#include
#include
#include
int main()
else}
執行this is the child process.pid=1501
this is the parent process .wait for child...
child』s pid =1501,exit status =5
範例二#include
#include
#include
using namespace std;
int main(void)
{pid_t pid;
pid =fork();
if (pid<0)
exit(0);
else if (pid == 0)
{//如果是子程序 睡眠20秒
cout<<"children : "<
waitpid(等待子程序中斷或結束)
相關函式 wait,fork
表頭檔案
#include
#include
定義函式 pid_t waitpid(pid_t pid,int * status,int options);
函式說明
waitpid()會暫時停止目前程序的執行,直到有訊號來到或子程序結束。如果在呼叫waitpid()時子程序已經結束,則waitpid()會立即返回子程序結束狀態值。子程序的結束狀態值會由引數status 返回,而子程序的程序識別碼也會一快返回。如果不在意結束狀態值,則引數status 可以設成null。
引數pid 為欲等待的子程序識別碼,其他數值意義如下:
pid<-1 等待程序組識別碼為pid 絕對值的任何子程序。
pid=-1 等待任何子程序,相當於wait()。
pid=0 等待程序組識別碼與目前程序相同的任何子程序。
pid>0 等待任何子程序識別碼為pid 的子程序。
引數option可以為0或下面的or組合:
wnohang 如果沒有任何已經結束的子程序則馬上返回,不予以等待。
wuntraced 如果子程序進入暫停執**況則馬上返回,但結束狀態不予以理會。
子程序的結束狀態返回後存於status,下面有幾個巨集可判別結束情況:
wifexited(status)如果子程序正常結束則為非0 值。
wexitstatus(status)取得子程序exit()返回的結束**,一般會先用wifexited 來判斷是否正常結束才能使用此巨集。
wifsignaled(status)如果子程序是因為訊號而結束則此巨集值為真
wtermsig(status) 取得子程序因訊號而中止的訊號**,一般會先用wifsignaled 來判斷後才使用此巨集。
wifstopped(status) 如果子程序處於暫停執**況則此巨集值為真。一般只有使用wuntraced 時才會有此情況。
wstopsig(status) 取得引發子程序暫停的訊號**,一般會先用wifstopped 來判斷後才使用此巨集。
返回值如果執行成功則返回子程序識別碼(pid),如果有錯誤發生則返回-1。失敗原因存於errno 中。
範例參考wait()。
linux wait函式解析
程序一旦呼叫了wait,就立即阻塞自己,由wait自動分析是否當前程序的某個子程序已經退出,如果讓它找到了這樣乙個已經變成殭屍的子程序,wait 就會收集這個子程序的資訊,並把它徹底銷毀後返回 如果沒有找到這樣乙個子程序,wait就會一直阻塞在這裡,直到有乙個出現為止。wait 等待子程序中斷或結束...
linux wait函式用法
程序一旦呼叫了 wait,就立即阻塞自己,由wait自動分析是否當前程序的某個子程序已經退出,如果讓它找到了這樣乙個已經變成殭屍的子程序,wait 就會收集這個子程序的資訊,並把它徹底銷毀後返回 如果沒有找到這樣乙個子程序,wait就會一直阻塞在這裡,直到有乙個出現為止。wait 等待子程序中斷或結...
2種和batch有關的函式解析
tensor list the list of tensors to enqueue.入隊的張量列表 batch size the new batch size pulled from the queue.表示進行一次批處理的tensors數量.capacity an integer.the max...