分享

LINUX创建子进程代码实例

 海漩涡 2015-03-16

//fork.cpp
#include <unistd.h>
#include <stdio.h>
int main(int argc, char * argv [ ])
{
    pid_t pid;
    int n =0;

    pid = fork();
    if(-1 >= pid)
    {
        printf("fork error\n");
        return -1;
    }
    else if(0 == pid)
    {
        while(1)
        {
            printf("I'm child process:%d\n",n);
            n++;
            sleep(1);
        }
    }
    else
    {
        while(1)
        {
            printf("I'm parent process:%d\n",n);
            sleep(1);
            n++;
        }
    }
    return 0;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include <unistd.h>
#include <stdio.h>
int main(int argc, char * argv [ ])
{
    pid_t pid;
    int n =0;

    pid = fork();
    if(-1 >= pid)
    {
        printf("fork error\n");
        return -1;
    }
    else if(0 == pid)
    {       
        printf("I'm child process:%d\n",n);
        printf("my id:%d---parents id:%d\n",getpid(),getppid());
      
    }
    else
    {        
        printf("I'm parent process:%d\n",n);
        printf("my id:%d---child id:%d\n",getpid(),pid);
    }
    return 0;
}

[root@wang cprimer]# g++ fork.cpp -o fork
[root@wang cprimer]# ./fork
I'm parent process:0
my id:4617---child id:4618
I'm child process:0
my id:4618---parents id:4617
[root@wang cprimer]# 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多