Linux下父子进程的全局变量

简介:
磨砺技术珠矶,践行数据之道,追求卓越价值 

回到上一级页面: PostgreSQL杂记页     回到顶级页面:PostgreSQL索引页 

[作者 高健@博客园  luckyjackgao@gmail.com] 

 

用这个从网上找的例子,看父子进程对全局变量的拥有是否不同:

复制代码
#include <sys/types.h>    
#include <stdio.h>    
#include <stdlib.h>    
    
int glob = 6;    
char buf[] = "a write to stdout\n";    
    
int main()    
{    
    int var;    
    pid_t pid;    
       
    var = 88;    
       
    fprintf(stderr, "%s", buf); 
    printf("before fork/n");    
       
    if(( pid = fork() ) < 0 )    
    {    
            fprintf(stderr, "fork error/n");
    }    
    else if(pid == 0)    
    {    
            glob++;
            var++;
            printf("child process/n");
            printf("pid = %d, father pid = %d, glob = %d, var = %d/n", 
                        getpid(), getppid(), glob, var);
            exit(0);
    }    
    else    
    {    
            sleep(2);
            printf("father process/n");
            printf("pid = %d, father pid = %d, glob = %d, var = %d/n", 
                        getpid(), getppid(), glob, var);
    }    
     return 0;    
}
复制代码
运行结果如下:

a write to stdout
before fork
child process pid=13712, father pid=13711, glob=13662, var=7
father process pid=13711, father pid=13539, glob=6, var=6

这表明,父子进程各有各的全局变量。









本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/07/27/2612230.html,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
算法 Linux C++
【探索Linux】P.31(守护进程)
【探索Linux】P.31(守护进程)
15 7
|
1天前
|
存储 安全 Linux
【探索Linux】P.18(进程信号 —— 信号捕捉 | 信号处理 | sigaction() )
【探索Linux】P.18(进程信号 —— 信号捕捉 | 信号处理 | sigaction() )
4 0
|
1天前
|
存储 算法 Linux
【探索Linux】P.17(进程信号 —— 信号保存 | 阻塞信号 | sigprocmask() | sigpending() )
【探索Linux】P.17(进程信号 —— 信号保存 | 阻塞信号 | sigprocmask() | sigpending() )
4 0
|
1天前
|
算法 Linux C++
【探索Linux】P.16(进程信号 —— 信号产生 | 信号发送 | 核心转储)
【探索Linux】P.16(进程信号 —— 信号产生 | 信号发送 | 核心转储)
3 0
|
1天前
|
消息中间件 存储 Unix
【探索Linux】P.15(进程间通信 —— system V共享内存)
【探索Linux】P.15(进程间通信 —— system V共享内存)
9 0
|
1天前
|
消息中间件 Unix Linux
【探索Linux】P.14(进程间通信 | 匿名管道 | |进程池 | pipe() 函数 | mkfifo() 函数)
【探索Linux】P.14(进程间通信 | 匿名管道 | |进程池 | pipe() 函数 | mkfifo() 函数)
8 0
|
4天前
|
Linux Shell C语言
|
4天前
|
监控 Linux Shell
|
7天前
|
存储 Linux 程序员
【Linux-14】进程地址空间&虚拟空间&页表——原理&知识点详解
【Linux-14】进程地址空间&虚拟空间&页表——原理&知识点详解
|
7天前
|
Unix Linux
【Linux】一文了解【进程优先级相关知识点】&【PRI / NI值】背后的修正原理(13)
【Linux】一文了解【进程优先级相关知识点】&【PRI / NI值】背后的修正原理(13)