亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人


Linux下多進程編程之fork()函數語法

分享到:
           

    fork()函數語法

    表1列出了fork()函數的語法要點。

表1 fork()函數語法要點

所需頭文件 #include <sys/types.h> /* 提供類型pid_t的定義 */
#include <unistd.h>
函數原型 pid_t fork(void)
函數返回值 0:子進程
子進程ID(大于0的整數):父進程
-1:出錯

    fork()函數的簡單示例程序如下:

    int main(void)
    {
        pid_t result;

        /* 調用fork()函數 */
        result = fork();
        /* 通過result的值來判斷fork()函數的返回情況,首先進行出錯處理 */
        if(result == -1)
        {
            printf("Fork error\n");
        }
        else if (result == 0) /* 返回值為0代表子進程 */
        {
            printf("The returned value is %d\n
            In child process!!\nMy PID is %d\n",result,getpid());
        }
        else /* 返回值大于0代表父進程 */
        {
            printf("The returned value is %d\n
            In father process!!\nMy PID is %d\n",result,getpid());
        }
        return result;
    }

    將可執行程序下載到目標板上,運行結果如下:

    $ arm-linux-gcc fork.c –o fork (或者修改Makefile)
    $ ./fork
    The returned value is 76 /* 在父進程中打印的信息 */
    In father process!!
    My PID is 75
    The returned value is :0 /* 在子進程中打印的信息 */
    In child process!!
    My PID is 76

    從該實例中可以看出,使用fork()函數新建了一個子進程,其中的父進程返回子進程的進程號,而子進程的返回值為0。

    由于fork()完整地復制了父進程的整個地址空間,因此執行速度是比較慢的。為了加快fork()的執行速度,很多UNIX系統設計者創建了vfork()。vfork()也能創建新進程,但它不產生父進程的副本。它是通過允許父子進程可訪問相同物理內存,從而偽裝了對進程地址空間的真實復制,當子進程需要改變內存中的數據時才復制父進程。這就是著名的“寫操作時復制”(copy-on-write)技術。現在大部分嵌入式Linux系統的fork()函數調用已經采用vfork()函數的實現方式,例如uClinux所有的多進程管理都通過vfork()來實現。

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱點鏈接:

   1、Linux下多進程編程之fork()函數說明
   2、Linux下多任務系統之線程介紹
   3、Linux下進程的內存結構
   4、Linux下進程的創建、執行和終止
   5、Linux下的進程結構

更多新聞>> 

主站蜘蛛池模板: 色天天综合久久久久综合片 | 亚洲综合视频 | 日本欧美视频 | 国产成人aa在线视频 | 国产一级毛片一区二区三区 | 欧美在线观看一区二区三区 | 久碰人澡人澡人澡人澡91 | 国产高清特黄无遮挡大片 | 国产人妖| 日本人视频18jizz免费 | 最新jizz欧m| 邻居大乳一区二区三区 | 久久亚洲国产午夜精品理论片 | 久久亚洲日本不卡一区二区 | 狠狠色噜噜狠狠狠888米奇 | 亚洲国产精 | 男女激情视频在线观看 | 国产精品一一在线观看 | 麻豆视频免费 | www.youjizz.com在线 | 亚洲欧洲日产国码一级毛片 | 黄污在线看 | www.亚洲精品 | 国产福利一区二区 | 清纯唯美亚洲激情 | 男人天堂2021 | 色综合色狠狠天天综合色 | a级成人高清毛片 | 99在线精品视频在线观看 | 天天看天天爽 | 久久蜜视频 | 欧美高清观看免费全部完 | 国产毛片久久久久久国产毛片 | 国产一卡2卡3卡4卡网站免费 | 久久国产精品高清一区二区三区 | 久久大胆视频 | 久久精品影院一区二区三区 | 欧美成人免费高清视频 | 国产深夜 | 中文字幕aⅴ在线视频 | 欧美在线综合视频 |