亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux c 關于進程等待的代碼

發布時間:2020-07-19 10:58:40 來源:網絡 閱讀:279 作者:hydrangea88 欄目:編程語言

下面資料是關于linux c 關于進程等待的內容,希望能對碼農有較大好處。

#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");
}

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

#include<sys/types.h>

#include<sys/wait.h>

函數說明wait()會暫時停止目前進程的執行(掛起父進程),直到有信號來到或子進程結束。如果在調用wait()時子進程已經結束,則wait()會立即返回子進程結束狀態值。子進程的結束狀態值會由參數status返回,而子進程的進程識別碼也會一快返回。如果不在意結束狀態值,則參數status可以設成NULL。如果調用wait的進程沒有子進程則會調用失敗,子進程的結束狀態值請參考waitpid()如果執行成功則返回子進程識別碼(PID),如果有錯誤發生則返回-1。失敗原因存于errno中。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

剑川县| 镇坪县| 兴山县| 喜德县| 景德镇市| 大理市| 柯坪县| 盱眙县| 宜章县| 凭祥市| 张家界市| 保靖县| 葫芦岛市| 辽源市| 盐源县| 增城市| 湖州市| 古浪县| 长沙市| 洪湖市| 灵丘县| 樟树市| 图片| 龙海市| 台中县| 滕州市| 峨眉山市| 泊头市| 乌兰察布市| 金沙县| 洛南县| 合作市| 西乡县| 镇坪县| 乡城县| 台中市| 通道| 镇原县| 凤凰县| 封丘县| 六安市|