首页 > linux > fork()函数

fork()函数

作者:bin

意义:

fork顾名思义,即分叉,进程分叉为2个进程,即新增一个子进程。

int fork_3(){
    printf("it's the main process step 1!!\n\n");
    fork();
    printf("step2 after fork() !!\n\n");
    int i; scanf("%d",&i);   //prevent exiting
    return 0;
}

执行如上程序将会输出2条:

step2 after fork()

即程序在fork()后出现分支。

使用场景:

因为fork()函数在 主进程子进程返回值 不一样,主进程返回进程号,子进程返回0;

通过如下语句进行区分处理;

if (fork()) exit(0);

这里即将主进程结束,子进程进行下去(常用语守护进程),如下

if (setsid() == -1)  exit(1);

您必须 [ 登录 ] 才能发表留言!