91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Linux的fork函數使用實例分析

發布時間:2022-02-18 09:24:25 來源:億速云 閱讀:129 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Linux的fork函數使用實例分析”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Linux的fork函數使用實例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

一個進程,包括代碼、數據和分配給進程的資源。fork()函數通過系統調用創建一個與原來進程幾乎完全相同的進程,也就是兩個進程可以做完全相同的事,但如果初始參數或者傳入的變量不同,兩個進程也可以做不同的事。

一個進程調用fork()函數后,系統先給新的進程分配資源,例如存儲數據和代碼的空間。然后把原來的進程的所有值都復制到新的新進程中,只有少數值與原來的進程的值不同。相當于克隆了一個自己。

Linux的fork函數使用實例分析

實例:

/*************************************************************************
   > File Name: fork_test.c
   > Author:
   > Mail:
   > Created Time: 2016年06月06日 星期一 09時29分05秒
************************************************************************/#include   #include   int main ()  
{  
   pid_t fpid; //fpid表示fork函數返回的值  
   int count=0;
       fpid=fork();  
       if (fpid printf("error in fork!");  
       else if (fpid == 0) {  
           printf("child process| process id= %d | fpid= %d |parentid = %d \n",getpid(),fpid,getppid());  
           count++;  
       }  
       else {  
           printf("parent process| process id= %d | fpid = %d |parentid = %d\n",getpid(),fpid,getppid());  
           count++;  
       }
       printf("統計結果是: %d \n",count);  
       getchar();
       return 0;
}  123456789101112131415161718192021222324252627
Linux的fork函數使用實例分析

?

fork出錯可能有兩種原因: 1)當前的進程數已經達到了系統規定的上限,這時errno的值被設置為EAGAIN。 2)系統內存不足,這時errno的值被設置為ENOMEM。

二、fork進階知識

?

實例

   #include      #include      int main(void)  
   {  
      int i=0;  
      printf("i son/pa ppid pid  fpid \n");  
      //ppid指當前進程的父進程pid  
      //pid指當前進程的pid,  
      //fpid指fork返回給當前進程的值  
      for(i=0;iif(fpid==0)  
              printf("i=%d | child  ppid=%4d |pid=%4d |fpid=%4d \n",i,getppid(),getpid(),fpid);  
          else  
              printf("i=%d | parent ppid=%4d |pid=%4d |fpid=%4d  \n",i,getppid(),getpid(),fpid);  
      }        
      getchar();
      return 0;  
   }  
1234567891011121314151617181920

?

運行結果

Linux的fork函數使用實例分析

?

查看進程

Linux的fork函數使用實例分析

?

分析 Linux的fork函數使用實例分析

讀到這里,這篇“Linux的fork函數使用實例分析”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

宾川县| 开江县| 霍邱县| 牡丹江市| 宁化县| 西林县| 云阳县| 长沙市| 金华市| 宜兰县| 隆回县| 榆社县| 丹凤县| 依安县| 元朗区| 嵊州市| 安多县| 太保市| 沅江市| 乃东县| 昌平区| 咸宁市| 都匀市| 库尔勒市| 乐亭县| 金乡县| 洛川县| 平定县| 延寿县| 辽宁省| 涞源县| 榆社县| 六盘水市| 台中县| 乳山市| 塘沽区| 山东| 佛冈县| 南溪县| 正阳县| 太仆寺旗|