0
我正在學習套接字編程,並且我對c編程非常瞭解。管道,叉子和if語句的初學者問題
基於我的c編程知識,一旦處理inside else語句。 if語句中的進程不應該發生並且會被殺死。對於情況下,
int a = 1;
if(a == 1) process1 ;
else process2;
基於上面的說法,一個等於1,所以過程1應該執行和過程2將不被執行。應該是正確的,我希望如此。
我的問題是下面的代碼
int main(void){
pid_t pid;
int pp[2];
pipe(pp);
pid = fork();
if(pid == 0){
printf("Processed pid == 0\n");
}else{
printf("Processed pid != 0\n");
}
return 0;
}
而且我得到了下面的輸出結果
Processed pid == 0
Processed pid != 0
我的問題是,爲什麼語句的結果如果和其他的顯示?
這意味着,在我執行上面的代碼之後,兩個進程將在fork被調用時單獨運行。我對嗎? – edisonthk 2013-04-28 10:55:31
準確地說:就像手冊頁說的一樣! – John3136 2013-04-28 10:56:30