程序if(fork() ==

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/03 17:53:52
程序if(fork() ==
xTjQ~4^Wc4%I$Pc4ejhԴI$kjVwŇsW ݣ֚'hZooȤ;:>l(db8eRg?PK{-LC&,'A&f-,)^ SYZ_ա=g1TMTxql*L%_=PL7|D=q[<,]OM9Ag8¡g1??m2iA-ͺmbvEE\A:W#lBMɁ- <:~Z^%bVCP|GE0 b5A╽H:*d<7Ԯ *?CqmCvqbRm1ȡ ɻY~%&Y:%#.੸gW'u$P}0_ HS~!nAeoY[ȣEu+s}᱁?$V_ŇNwGW+ޒ0n(䯱d8:Mq O)!!XB@ yN9@VS(¥

程序if(fork() ==
程序if(fork() ==

程序if(fork() ==
linux下C语言可以用fork()建立子进程.
fork函数返回两个值,对于子进程,返回0; 父进程,返回子进程ID. 所以用
if(fork()==0)
{子进程执行的代码段;}
else
{父进程执行的代码段;}

fork()函数的作用:新建一个子进程。
可以这么看,fork的意思就是分支,所以就相当于在当前进程所运行到的位置分一个支流出来,然后,新进程与老进程都是从分叉点开始继续运行(分叉点也就是fork()函数调用处)。
至于fork()函数的返回值:
子进程返回:0
父进程返回:>0的整数(返回子进程ID号)
错误返回:-1
因此,若没有错误,对于:

全部展开

fork()函数的作用:新建一个子进程。
可以这么看,fork的意思就是分支,所以就相当于在当前进程所运行到的位置分一个支流出来,然后,新进程与老进程都是从分叉点开始继续运行(分叉点也就是fork()函数调用处)。
至于fork()函数的返回值:
子进程返回:0
父进程返回:>0的整数(返回子进程ID号)
错误返回:-1
因此,若没有错误,对于:
if(fork()==0)
{block A}
else
{block B}
在新进程中block A的内容会被执行,而在老进程中block B会被执行。

收起