永发信息网

程序if(fork() == 0)是什么意思?

答案:2  悬赏:50  手机版
解决时间 2021-12-02 20:01
  • 提问者网友:未信
  • 2021-12-02 04:45
程序if(fork() == 0)是什么意思?
最佳答案
  • 五星知识达人网友:骨子里都是戏
  • 2021-12-02 05:57
linux下C语言可以用fork()建立子进程。
fork函数返回两个值,对于子进程,返回0; 父进程,返回子进程ID. 所以用
if(fork()==0)
{子进程执行的代码段;}
else
{父进程执行的代码段;}
全部回答
  • 1楼网友:琴狂剑也妄
  • 2021-12-02 06:30
fork()函数的作用:新建一个子进程。
可以这么看,fork的意思就是分支,所以就相当于在当前进程所运行到的位置分一个支流出来,然后,新进程与老进程都是从分叉点开始继续运行(分叉点也就是fork()函数调用处)。

至于fork()函数的返回值:
子进程返回:0
父进程返回:>0的整数(返回子进程ID号)
错误返回:-1

因此,若没有错误,对于:
if(fork()==0)
{block A}
else
{block B}
在新进程中block A的内容会被执行,而在老进程中block B会被执行。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯