当前位置:  技术问答>linux和unix

连续fork两次创建几个进程

    来源: 互联网  发布时间:2017-02-20

    本文导语:  我的代码如下: #include #include #include  main() {  int p1,p2;  p1=fork();  p2=fork();  if(p1==0){  printf("The child1 pid %dn",getpid()); }  else{    printf(" parent1 pid %d,child1 pid %dn",getpid(),p1);    wait(0); }  if(p2==0){  printf("The child2...

我的代码如下:

#include
#include
#include 
main()
{
 int p1,p2;
 p1=fork();
 p2=fork();
 if(p1==0){
 printf("The child1 pid %dn",getpid());
}
 else{
   printf(" parent1 pid %d,child1 pid %dn",getpid(),p1);
   wait(0);
}
 if(p2==0){
 printf("The child2 pid %dn",getpid());
}
 else{
   printf(" parent2 pid %d,child2 pid %dn",getpid(),p2);
   wait(0);
}

 return 0;
}


 运行结果是:
 parent1 pid 5728,child1 pid 5424
 parent1 pid 5364,child1 pid 5424
 The child2 pid 5364
 parent2 pid 5728,child2 pid 5364
 The child1 pid 5424 The child1 pid 4752
 parent2 pid 5424,child2 pid 4752 The child2 pid 4752


从结果来看是创建了4个进程,父进程5728创建了子进程5424和5364,子进程5424又作为父进程创建了子进程4752,可是
“parent1 pid 5364,child1 pid 5424”是怎么回事,这里我看不懂!

 请教高手···

|
 p1=fork();  // 这句话之后,就有两个进程了
 p2=fork();  // 这句话会被两个进程都执行

    
 
 

您可能感兴趣的文章:

  • 奇怪:程序一fork子进程时就停住了,似乎根本不能fork子进程啊?
  • 程序在fork前申请了内存若干,在fork后子进程是否需要释放父进程之前申请的内存
  • 主进程有两个线程,fork子进程后复制主进程两个线程的内存么?
  • 父进程发包,fork子进程收回传的包,sock_filter后,子进程收不到包
  • fork 一个字进程 将子进程的输出作为主进程的输入
  • fork出来的子进程能通知主进程自己的进度吗
  • 用fork产生一个进程,但是在子进程里无法监视父进程变量的变动。
  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • 调用fork操作后,子进程有返回,父进程挂死,什么原因?
  • fork一个子进程后在打开一个文件,如何在子进程中使用这个打开的文件描述符号
  • 问。fork()出来的子进程如果遇到brokenPIPE的错误,会影响父进程的关闭吗?
  • fork() 父子进程执行顺序问题
  • 怎样编写一段程序,要求调用fork并在子进程中建立一个新的对话期。验证子进程变成了进程组长而且不再有控制终端。
  • 请问fork子进程后,怎么修改子进程的所属用户。
  • fork出来的进程不能完全继承父进程的属性吗?
  • 创建进程的系统调用clone()和fork()
  • 在一个进程中我定义了几个全局变量,然后我又fork了几个子进程,子进程中是否可以各自对全局变量进行修改,如果各子进程都对其进行修改,
  • 关于fork创建进程的一个问题
  • 如何向由fork出来的进程家族发送信号?
  • fork()复制进程的问题2
  • 执行一个main函数程序时,unix操作系统调用什么创建进程?fork?newproc?
  • fork()首次调用新创建进程时,其入口在哪里?在线等等
  • 关于fork创建进程的问题,请各位指点!多谢!
  • 请问用fork()创建进程有分方式的嘛?
  • 使用fork()创建进程
  • 用fork创建新进程碰到的问题。。。
  • Linux系统中C语言编程创建函数fork()执行解析
  • fork创建进程后,代码空间是不是会减少?
  • 老师留的一道关于使用fork()创建child来并行处理的作业题,请各位大侠给点灵感,跪谢!!!!
  • fork、execl创建多进程,出现一个僵死进程
  • fork 创建进程,共享内存,文件描述符问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • unix中的fork2与fork有设么区别?
  • 还是有关fork的问题,fork在一个函数中调用,我被搞胡涂了
  • fork()函数入门级问题:fork()与进程数
  • 一个fork的问题
  • 新手的问题关于fork?
  • 如何理解fork函数返回2次啊?
  • 急于明白Fork的用法.请提供中文解释.谢谢.
  • 关于fork的不解
  • 弱弱的问:fork和exec的区别是什么?
  • 关于fork的讨论
  • 关于fork的疑问?
  • fork之后的输出
  • exit和fork是什么关系?他们是怎么配合使用的?
  • fork函数,在线等待,马上结贴。谢谢!!!!!!!!!!!!
  • fork的问题
  • 请教 linux的fork从什么版本开始支持COW?
  • c++ 和 fork
  • 请教一个关于fork的问题。
  • "fork(2)" 中这个2表示什么意思
  • fork函数的源代码在哪呢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3