网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月30日漏签0天
linux编程吧 关注:27,667贴子:11,825
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回linux编程吧
>0< 加载中...

【问题】求解!关于fork

  • 只看楼主
  • 收藏

  • 回复
  • 白客缔造者
  • 仗剑天涯
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
话说fork后,子进程复制与父进程fork以后相同的代码``````
那请问如果fork处于一个循环中呢?
比如下边的程序``````
我的测试结果是进入死循环了`````
故我推测只复制了fork以后的代码```````但是如果这样````` 那个与while后边的大括号匹配的大括号 如何处理 不会出错吗?
# include <stdio.h>
# include <unistd.h>
int main(int argc,char *argv[])
{
int i;
pid_t pidt;
printf(" in father process :\n pid= %d\n pgid= %d ppid=%d\n**********\n",getpid(),getpgid(0),getppid());
while(1)
{
if(getpid()==pidt)
{
printf("子进程来到上边的循环了");
break;
}
if((pidt=fork())==0)
{
printf(" in child pid =%d pgid=%d ppid=%d",getpid(),getpgid(0),getppid());
}
else
{
printf("in parent : \nthe child is--%d\n",pidt);
break;
}
}
return 0;
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回linux编程吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示