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