linux下的父子进程的验证代码

来源:互联网 发布:android 数据库路径 编辑:程序博客网 时间:2024/06/04 18:00
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main()

{

        a = 10;

printf("main pid = %d\n", getpid());
pid_t pid = fork();                               //调用fork函数,这是有两个返回值的特殊函数,可以将程序分成两个进程
if (-1 == pid)
{
perror("fork");
return 1;
}
if (pid == 0)                                     //pid 为0, 进入子进程

{

               a = 11;

printf("chlid pid = %d ppid = %d\n", getpid(), getppid());
                printf("a = %d", a);

}
else                                                            //进入父进程
{

printf("parent return value = %d pid = %d\n", pid, getpid());

                printf ("a = %d", a); 

}
return 0;

}

值得注意的是,子进程和父进程是相互独立的地址空间,所以互相没有影响,但是父进程的return pid 的值为子进程的pid。但是,子进程的输出的a为11,父进程的为10,这说明,两个进程是互不影响的。

原创粉丝点击