0
所以我想學習fork()調用,我老實說困惑於這個子進程和父進程是如何工作的。下面是部分代碼:printf()後fork()和條件只打印一次?
int main()
{
pid_t pid;
pid = fork();
if (pid == 0) {
value = ChildProcess(value);
return 0;
}
else if (pid > 0) {
value = ParentProcess(value);
}
printf("\nThe value is %d",value);
return 0;
}
現在輸出應該給我父值和子值,因爲沒有wait()調用或者可以先打印父值或子值。但是我很困惑的是,爲什麼printf語句只能被打印一次?不應該打印兩次,因爲fork調用基本上創建了一個重複的程序?