国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
如何等待所有的子進(jìn)程結(jié)束?
1、方法一
pid_t   wait   (int   *   status);  
  函數(shù)說明  
  wait()會(huì)暫時(shí)停止目前進(jìn)程的執(zhí)行,直到有信號(hào)來到或子進(jìn)程結(jié)束。如果在調(diào)用wait()時(shí)子進(jìn)程已經(jīng)結(jié)束,則wait()會(huì)立即返回子進(jìn)程結(jié)束狀態(tài)值。子進(jìn)程的結(jié)束狀態(tài)值會(huì)由參數(shù)status   返回,而子進(jìn)程的進(jìn)程識(shí)別碼也會(huì)一快返回。如果不在意結(jié)束狀態(tài)值,則  
  參數(shù)  
  status可以設(shè)成NULL。子進(jìn)程的結(jié)束狀態(tài)值請(qǐng)參考waitpid()。  
  返回值  
  如果執(zhí)行成功則返回子進(jìn)程識(shí)別碼(PID),如果有錯(cuò)誤發(fā)生則返回-1。失敗原因存于errno中。
while( -1 !=  wait() )
        ;
    return 0;
2、方法二
waitpid()函數(shù)允許父進(jìn)程等待一個(gè)特定的子進(jìn)程。這個(gè)函數(shù)還允許父進(jìn)程非阻塞地檢查子進(jìn)程是否已經(jīng)終止了。
#include <sys/wait.h>

/**
*
* @param pid_t pid      指向返回狀態(tài)所在單元的指針和一個(gè)用來指定可選項(xiàng)的標(biāo)志符,
*                                   如果pid為-1, waitpid就等待任意一個(gè)子進(jìn)程
*                                   如果pid大于0,waitpid就等待進(jìn)程ID為pid的那個(gè)特定的子進(jìn)程。
*                                   參數(shù)pid還存在另外兩種可能的值。
*                                   如果pid為0, waitpid就等待與調(diào)用者在同一個(gè)進(jìn)程組中的任意子進(jìn)程。
*                                   如果pid小于-1, waitpid就等待由pid的絕對(duì)值指定的進(jìn)程組中任意一個(gè)子進(jìn)程。
*
* @param int*  stat_loc 指向整數(shù)變量的指針。
*                       如果stat_loc不為NULL,這些函數(shù)就將子進(jìn)程的返回狀態(tài)存儲(chǔ)在這個(gè)單元中。
*                       子進(jìn)程通過調(diào)用exit, _exit, _Exit或從main函數(shù)中return來返回它的狀態(tài)。
*                       返回值為零說明EXIT_SUCCESS;任何其它的值都說明EXIT_FAILURE。
*                       父進(jìn)程只能對(duì)子進(jìn)程返回狀態(tài)的8個(gè)最低有效位進(jìn)行訪問
*                      
* @param int   options  是一個(gè)或多個(gè)標(biāo)志符按位"或"的結(jié)果。
*                       即使子進(jìn)程的狀態(tài)不是立刻可用的,選項(xiàng)WNOHANG也會(huì)使waitpid返回。
*                       選項(xiàng)WUNTRACED會(huì)使waitpid報(bào)告那些已經(jīng)被停止的未報(bào)告的子進(jìn)程的狀態(tài)
*
* @return 成功: 返回子進(jìn)程ID
*               錯(cuò)誤:返回-1并設(shè)置errno
*               如果用選項(xiàng)WNOHANG調(diào)用waitpid, 則waitpid就返回0來報(bào)告可能有無人等待的子進(jìn)程,但這些子進(jìn)程的狀態(tài)不可用
*
*/
pid_t waitpid(pid_t pid, int *stat_loc, int options);
void   waitchild(int   signo)  
  {  
        pid_t   pid;  
        while((pid   =   waitpid(-1,NULL,WNOHANG))>0){  
        }  
  }

本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/billpig/archive/2009/05/09/4160613.aspx
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
網(wǎng)絡(luò)編程中體會(huì)Wait與Waitpid的區(qū)別 - BLUESKY - C++博客
Linux下的進(jìn)程的
fork兩次如何避免僵尸進(jìn)程收藏
Linux僵尸進(jìn)程詳解
《UNIX環(huán)境高級(jí)編程》的筆記——wait&waitpid
PHP多進(jìn)程編程 - 井長 - Jason Yu
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服