作者 主題: fork使用  (閱讀 4728 次)

0 會員 與 1 訪客 正在閱讀本文。

rickyt

  • 可愛的小學生
  • *
  • 文章數: 12
    • 檢視個人資料
fork使用
« 於: 2005-06-02 03:02 »
請問各位前輩一個小問題~
我在linux用C呼叫fork(),複製一個程序,請問呼叫fork()後,include檔裡面的變數是會複製一份,還是子程序和父程序會共用一份呢?因為include檔是在fork()函數之前的..

例如
ABC.h檔
int a;

a.c檔
#include ABC.h
main()
{
    fork();
     :
     :
}
請問整數變數a是子程序和父程序共用,還是各自擁有一個整數變數a呢?

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
Re: fork使用
« 回覆 #1 於: 2005-06-02 03:12 »
引述: "rickyt"
請問各位前輩一個小問題~
我在linux用C呼叫fork(),複製一個程序,請問呼叫fork()後,include檔裡面的變數是會複製一份,還是子程序和父程序會共用一份呢?因為include檔是在fork()函數之前的..

例如
ABC.h檔
int a;

a.c檔
#include ABC.h
main()
{
    fork();
     :
     :
}
請問整數變數a是子程序和父程序共用,還是各自擁有一個整數變數a呢?


各自獨立有一個變數。

不過我這邊還是要附註一下,這年頭 unix os 設計都改很多,對於 fork() 目前採行所謂 copy on write 技術,這部分您也應該留意。

==
I am kenduest - 小州

my website: http://kenduest.sayya.org/