linux中的fork分析

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

void func(char *str)

{

    printf("%s-func:getpid=%d\n",str,getpid());

}

int main()

{

#define PN  4    

    int i;

    int pid;

    for(i=0;i<PN;i++)

    {

        if((pid=fork())>0)

        {

            printf("father-%d:pid=%d,getpid=%d\n",i,pid,getpid());

            func("father");

        }

        else

        {

            printf("child-%d:pid=%d,getpid=%d\n",i,pid,getpid());

            func("child");

            exit(0);

        }    

    }

    while(1);

    return 0;

}

执行 gcc test.c后,打印如下:

使用ps elf 查看:

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页