首页 > 其他 > 详细

UNIX环境高级编程Ubuntu下的一个小BUG

时间:2014-04-13 07:03:31      阅读:389      评论:0      收藏:0      [点我收藏+]
在这本书里面使用fork时的标准格式都是

pid_t    pid;

if(pid = fork() < 0)//错误

{}

else if(pid  ==  0)//子进程

{}

else //父进程

{}

结果仿照上面格式写代码的时候一直执行子进程,而且子进程会执行两遍,但是父进程不执行,

自己分析下,每次if(pid = fork() < 0)的时候都会生成一个新的子进程,原因貌似在这里,但是不管

怎么样,父进程总不执行,这点没搞懂。

把上面的格式中换成

pid_t pid;

pid = fork();

if(pid < 0)

{}

else if(pid == 0)

{}

else

{}

后正常,我的环境是ubuntu,不知到是不是跟这个有关~~~

UNIX环境高级编程Ubuntu下的一个小BUG,布布扣,bubuko.com

UNIX环境高级编程Ubuntu下的一个小BUG

原文:http://blog.csdn.net/hongkangwl/article/details/23537619

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!