• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux 中fork的执行的实例详解

    Linux 中fork的执行的实例详解

    先看看一段fork的程序

    int main()
    {
       pid_t pid;
     
       语句 a;   
       pid = fork();
       语句 b;
    }
    

     1.当程序运行到 pid = fork()时,这个进程马上分裂(fork的中文意思)成两个进程,我们称为父进程和子进程,子进程是父进程的副本,副本的意思是子进程把父进程的数据空间,堆和栈都复制一遍给自己用,这要求在内存给子进程分配和父进程同样大的存储空间,这样,父,子进程拥有相同的数据,但不会共享存储空间,他们只是共享正文段。

    2.apue2这样说fork的执行:fork函数被调用一次,但返回两次,两次返回的唯一区别是子进程的返回值是0,而父进程的返回值则是子进程的进程ID。一直很难理解调用一次,返回两次这句话,我想这样理解可能更好:fork函数被调用一次,但执行两次,父进程执行一次返回子进程的进程ID,子进程执行一次返回0.

    3.fork完后,子进程和父进程继续执行fork调用之后的语句,是先执行父进程还是先执行子进程呢?apue2给出了答案:一般来说,在fork之后是父进程先执行还是子进程先执行是不确定的。这取决于所使用的调度算法。

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    您可能感兴趣的文章:
    • 详解linux中fork、vfork、clone函数的区别
    • Linux 编程之进程fork()详解及实例
    • Linux中fork()函数实例分析
    • 使用C语言的fork()函数在Linux中创建进程的实例讲解
    • 浅谈Linux环境下并发编程中C语言fork()函数的使用
    • Linux中使用C语言的fork()函数创建子进程的实例教程
    • C语言的fork函数在Linux中的进程操作及相关面试题讲解
    • 简单掌握Linux系统中fork()函数创建子进程的用法
    • Linux下C语言的fork()子进程函数用法及相关问题解析
    • Linux系统中C语言编程创建函数fork()执行解析
    上一篇:Linux C中sockaddr和sockaddr_in的区别
    下一篇:详解Linux下读取位图的注意事项
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux 中fork的执行的实例详解 Linux,中,fork,的,执,行的,