• 一个考察fork的题目


    下面这个程序,让你计算一下产生多少个子进程。
    int main()
    {
        fork();
        fork()&&fork()||fork();
        fork();
    }

    解答:
    fork的基本性质大家都知道,返回0是子进程,返回1是父进程。这个题目容易让人晕菜,所以要掌握方法。
    下面用图示的方法看看它的执行过程。
                                                                            
                2(第一个fork后)   -----   +2(执行第二个fork之后)  -(返回值为0)--   +2 (短路&&,执行第四个fork)
                                                                          |      
                                                                   (返回值为1)
                                                                          |                                                           
                                                                +2(执行第三个fork) -(返回值为0)-- +2(执行第四个fork)
      到最后一个fork执行之前,已经有了2+2+2+2+2=10个进程,最后再fork一次,一共是20个。
      除去最开始的进程,一共产生了20-1=19个进程。

  • 相关阅读:
    docker学习笔记(一)-vagrant/docker machine安装docker,阿里云通过docker machine安装docker
    docker安装 centos7
    Robot Framework user guide
    Powershell 备忘
    如何在linux系统内用openssl 生成 过期的证书
    同时装了Python3和Python2,怎么用pip?
    python 基础笔记三
    python 基础笔记二
    python对文件的操作
    3-4 字典的嵌套
  • 原文地址:https://www.cnblogs.com/marsbible/p/3340861.html
Copyright © 2020-2023  润新知