内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

linuxc關(guān)于進(jìn)程等待的代碼-創(chuàng)新互聯(lián)

下面資料是關(guān)于linux c 關(guān)于進(jìn)程等待的內(nèi)容,希望能對(duì)碼農(nóng)有較大好處。

創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)炎陵,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):13518219792
#include <sys/types.h>
#include <stdio.h>
#include <sys/wait.h>

void check_exit(int status);

main()
{
    pid_t pid;
    int status;
    if((pid = fork()) < 0)
    {
    printf("fork error!!n");
    exit(0);
    }
    else if(pid == 0)
    {
    printf("child process exitn");
    exit(0);
    }
    else
    {
        if(wait(&status) != pid)
        {
        printf("wait error!!");
        exit(0);
        }
        check_exit(status);
    }

}
void check_exit(int status)
{
    if(WIFEXITED(status))
        printf("eixtn");

    else if(WIFSIGNALED(status))
        printf("killed by signaln");
    else if(WIFSTOPPED(status))
        printf("stopped by signaln");
    else if(WIFCONTINUED(status))
        printf("continued");
}

等待進(jìn)程改變其狀態(tài)。所有下面哪些調(diào)用都被用于等待子進(jìn)程狀態(tài)的改變,獲取狀態(tài)已改變的子進(jìn)程信息。狀態(tài)改變可被認(rèn)為是:1.子進(jìn)程已終止。2.信號(hào)導(dǎo)致子進(jìn)程停止執(zhí)行。3.信號(hào)恢復(fù)子進(jìn)程的執(zhí)行。在子進(jìn)程終止的情況下,wait調(diào)用將允許系統(tǒng)釋放與子進(jìn)程關(guān)聯(lián)的資源。如果不執(zhí)行wait,終止了的子進(jìn)程會(huì)停留在"zombie"狀態(tài)。如果發(fā)現(xiàn)子進(jìn)程改變了狀態(tài),這些調(diào)用會(huì)立即返回。反之,調(diào)用會(huì)被阻塞直到子進(jìn)程狀態(tài)改變,或者由信號(hào)處理句柄所中斷(假如系統(tǒng)調(diào)用沒(méi)有通過(guò)sigaction的SA_RESTART標(biāo)志重啟動(dòng))。wait系統(tǒng)調(diào)用掛起當(dāng)前執(zhí)行中的進(jìn)程,直到它的一個(gè)子進(jìn)程終止。waitpid掛起當(dāng)前進(jìn)程的執(zhí)行,直到指定的子進(jìn)程狀態(tài)發(fā)生變化。默認(rèn),waitpid只等待終止?fàn)顟B(tài)的子進(jìn)程,但這種行為可通過(guò)選項(xiàng)來(lái)改變。waitid系統(tǒng)調(diào)用對(duì)于等待哪個(gè)子進(jìn)程狀態(tài)改變提供了更精確的控制。子進(jìn)程已終止,父進(jìn)程尚未對(duì)其執(zhí)行wait操作,子進(jìn)程會(huì)轉(zhuǎn)入“僵死”狀態(tài)。內(nèi)核為“僵死”狀態(tài)的進(jìn)程保留最少的信息量(進(jìn)程標(biāo)識(shí),終止?fàn)顟B(tài),資源使用信息),過(guò)后父進(jìn)程執(zhí)行wait時(shí)可以獲取子進(jìn)程信息。只要僵死的進(jìn)程不通過(guò)wait從系統(tǒng)中移去,它將會(huì)占據(jù)內(nèi)核進(jìn)程表中的一個(gè)欄位。如果進(jìn)程表被填滿(mǎn),內(nèi)核將不能再產(chǎn)生新進(jìn)程。如果父進(jìn)程已終止,它的僵死子進(jìn)程將由init進(jìn)程收養(yǎng),并自動(dòng)執(zhí)行wait將它們移去。wait(等待子進(jìn)程中斷或結(jié)束)

#include<sys/types.h>

#include<sys/wait.h>

函數(shù)說(shuō)明wait()會(huì)暫時(shí)停止目前進(jìn)程的執(zhí)行(掛起父進(jìn)程),直到有信號(hào)來(lái)到或子進(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。如果調(diào)用wait的進(jìn)程沒(méi)有子進(jìn)程則會(huì)調(diào)用失敗,子進(jìn)程的結(jié)束狀態(tài)值請(qǐng)參考waitpid()如果執(zhí)行成功則返回子進(jìn)程識(shí)別碼(PID),如果有錯(cuò)誤發(fā)生則返回-1。失敗原因存于errno中。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

分享題目:linuxc關(guān)于進(jìn)程等待的代碼-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://www.rwnh.cn/article14/pocge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站收錄企業(yè)網(wǎng)站制作、全網(wǎng)營(yíng)銷(xiāo)推廣、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
全南县| 庄浪县| 临安市| 青铜峡市| 微山县| 山阳县| 兴化市| 咸宁市| 从江县| 姚安县| 海原县| 泾源县| 星座| 饶平县| 卢龙县| 金塔县| 芒康县| 龙山县| 巴中市| 安远县| 涟源市| 卢氏县| 珠海市| 绿春县| 九江县| 孟津县| 西宁市| 江油市| 阳原县| 灵宝市| 涟源市| 庆元县| 余江县| 吉木乃县| 荣昌县| 河东区| 武穴市| 靖远县| 延吉市| 黑山县| 出国|