LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 631|回复: 3

fork()一问

[复制链接]
发表于 2004-9-24 01:29:28 | 显示全部楼层 |阅读模式
  1. [color=crimson]
  2. #include<stdio.h>
  3. #include<sys/types.h>
  4. #include<unistd.h>
  5. main()
  6. {
  7.   pid_t pid;
  8.   pid=fork();
  9.   int i;
  10.   for (i=0;i<10;i++)
  11.   {
  12.     printf("%d\t",getpid());
  13.   }
  14.   printf("\n");
  15. }
  16. [/color]
复制代码


出来结果却是

4823    4823    4823    4823    4823    4823    4823    4823    4823    4823
4822    4822    4822    4822    4822    4822    4822    4822    4822    4822


刚见到fork,想学它,我想复制很多个进程出来,可用for不行,该怎么办 ?
发表于 2004-9-24 09:16:10 | 显示全部楼层
for(i = 0; i < 10; i++){
    if(fork() == 0){
        ... /* child */
    }else if(>0)
         ... /* parent */
    }else{
        ... /* error */
    }
}
发表于 2004-9-24 09:46:07 | 显示全部楼层
最好买本stevens的Advanced Unix Programming Environment,那上面的fork讲得很清楚,详细,
发表于 2004-9-24 12:32:11 | 显示全部楼层
楼主fork了一次,当然就只有一个子进程了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表