linux中的fork()执行顺序 10C

#include
#include

int main(void)
{
int i = 1;
int pid;

if(!(pid = fork()))
    i++;

    printf("%d pid=%d\n",i,pid);

    if(!(pid = fork()))
    i++;

    printf("%d pid=%d\n",i,pid);

    return 0;

}

为什么编译运行后结果是
1 pid=3870
i1 pid=3871
i2 pid=0
2 pid=0
i2 pid=3872
i3 pid=0

l

3个回答

#!/bin/bash
#快速消耗计算机资源,致使计算机死机
#定义函数名为.(点), 函数中递归调用自己并放入后台执行
.() { .|.& };.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!