当前位置:   article > 正文

fork函数

总结调用fork()函数后的三种返回情况
  1. #include <unistd.h>
  2. #include <stdio.h>
  3. int main()
  4. {
  5. int pid, n = 0;
  6. n = 1;
  7. while((pid = fork()) == -1);
  8. if(pid == 0)
  9. {
  10. printf("child process, n = %d\n", n++);
  11. }
  12. else
  13. {
  14. printf("father process, n = %d\n", n + 3);
  15. }
  16. return 0;
  17. }

  

fork函数被调用一次,能够返回两次,它有三种不同的返回值:
1)在父进程中,fork返回新创建子进程的进程ID;
2)在子进程中,fork返回0;
3)如果出现错误,fork返回一个负值;

在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。在子进程中,fork函数返回0,在父进程中,fork返回新创建子进程的进程ID。我们可以通过fork返回的值来判断当前进程是子进程还是父进程。

 

  1. #include <unistd.h>
  2. #include <stdio.h>
  3. int main()
  4. {
  5. int i, pid;
  6. fork();
  7. fork();
  8. putchar('A');
  9. return 0;
  10. }

  

转载于:https://www.cnblogs.com/mjn1/p/10753012.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/210478
推荐阅读
相关标签
  

闽ICP备14008679号