zoukankan      html  css  js  c++  java
  • 【转】linux中fork()函数详解

    原文链接:http://blog.csdn.net/jason314/article/details/5640969#comments

    总结:面宝P268

      fork()的意思是进程从这里开始分叉,分成两个进程:一个父进程,一个子进程。子进程拷贝了父进程的绝大部分(栈、缓冲区等等)。虽然父子进程共享代码空间,但是在涉及写数据时,子进程有自己的数据空间。

      父进程中fork()返回新建子进程的进程ID;子进程中fork()返回0;如果出错,fork()返回负值。

      相关函数:getppid 获取父进程ID;getpid 获取本进程ID。

    注意:父子两进程的执行顺序不固定,要看调度策略。

    注意:

    printf("fork!");
    fork();

    这段代码,缓冲区内的“fork!”也被子进程复制了,之后子进程打印也有fork!(这是我们不希望看到的),可做如下修改:

    printf("fork!
    ");//
    符号使得代码立即打印,同时缓冲区不再有fork!
    fork();
  • 相关阅读:
    UVa 481
    ZOJ 1108 & HDU 1160
    UVa 11450
    UVa 11242
    UVa 750
    UVa 725
    UVa 483
    UVa 10258
    UVa 793
    The Little Girl who Picks Mushrooms HDU 4422 水题类似模拟的一种感觉
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3622005.html
Copyright © 2011-2022 走看看