fork函数功能

fork函数功能 怎样声明fork函数?

怎样声明fork函数?

怎样声明fork函数?

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

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

让我们看一个例子:

[cpp] view plain copy

/*

* fork_test.c

* version 1

* Created on: 2010-5-29

* Author: wangth

*/

#include ltunistd.hgt

#include ltstdio.hgt

int main ()

{

pid_t fpid //fpid表示fork函数返回的值

int count=0

fpid=fork()

if (fpid lt 0)

printf(\\

fork函数原理?

fork,翻译过来就是餐叉

打印x,会有两个整数,但不能说fork()函数函数同时反悔两个值,fork()创建两个子过程x属于不同的进程,不同的代码块,如果x同时有两个值,所以不可能x作if判断。

1 fork()函数通过系统调用创建一个几乎与原始过程完全相同的过程,即两个过程可以完全相同

2.fork调用的一个奇妙之处是,它只能调用一次,但可以返回两次。它可能有三个不同的返回值

1)在父的过程中,fork回到新创建子过程的过程ID;

2)在子进程中,fork返回0;

3)如果有错误,fork回到负值;

3.这两个进程执行没有固定的顺序,哪个进程先执行取决于系统的进程调度策略。

4.fork完成后,出现了两个内容完全相同的过程,fork将过程的当前情况复制一份,赋值给子过程。

5 多个过程之间的变量是相互独立的,互不影响,因为父过程会将代码复制到子过程中,子父过程的代码段是相同的。

6理论上,子进程的结束不影响父进程。