首页服务器Linux服务器 Linux中fork()函数实例分析

Linux中fork()函数实例分析

一、fork 入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始…

一、fork 入门知识

一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 

一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。 

我们来看一个例子:

 /*  * fork_test.c  * version 1  * Created on: 2010-5-29  * Author: wangth  */ #include  #include  int main () {  pid_t fpid; //fpid表示fork函数返回的值  int count=0;  fpid=fork();  if (fpid < 0)  printf("error in fork!");  else if (fpid == 0) {  printf("i am the child process, my process id is %d/n",getpid());  printf("我是爹的儿子/n");//对某些人来说中文看着更直白。  count++;  }  else {  printf("i am the parent process, my process id is %d/n",getpid());  printf("我是孩子他爹/n");  count++;  }  printf("统计结果是: %d/n",count);  return 0; } 
本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/fwq/Linux/8828.html
上一篇Linux 下目录文件权限(命令)的查看和修改
下一篇 Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(Windows Windows, Windows Linux)
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部