可以這麽看,fork的意思就是分支,所以就相當於在當前進程所運行到的位置分壹個支流出來,然後,新進程與老進程都是從分叉點開始繼續運行(分叉點也就是fork()函數調用處)。
至於fork()函數的返回值:
子進程返回:0
父進程返回:>0的整數(返回子進程ID號)
錯誤返回:-1
因此,若沒有錯誤,對於:
if(fork()==0)
{block A}
else
{block B}
在新進程中block A的內容會被執行,而在老進程中block B會被執行。