Chinaunix
标题:
linux c fork的问题
[打印本页]
作者:
c513636054
时间:
2010-12-01 09:33
标题:
linux c fork的问题
int main(void)
{
int pid=0;
printf("======>[%d]\n", getpid() );
while( pid = ( fork() < 0 ) );
printf("------>[%d]\n", getpid() );
printf("pid = [%d]\n", pid );
if ( pid == 0 )
printf("this's subprocess\n");
if ( pid > 0 )
printf( "this's father process\n" );
return 0;
}
远行结果为:
======>[30962]
------>[30963]
pid = [0]
this's subprocess
pid = [0]
this's subprocess
我的问题是为什么pid的两次返回值都是0?
当 fork函数这样使用的时候它是返回了一次还是两次?
作者:
paul_allen
时间:
2010-12-01 10:43
这句错了,
while( pid = ( fork() < 0 ) );
应该是while( (pid = fork()) < 0 ) );
作者:
c513636054
时间:
2010-12-01 10:54
嘿嘿……我知道!两种写法是一个道理
作者:
c513636054
时间:
2010-12-01 11:38
我今天犯了个弱智的错误,算数优先级嘿嘿
作者:
abackdoor
时间:
2010-12-01 12:50
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2