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

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

 

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

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

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

 

转载于:https://www.cnblogs.com/gaojian/archive/2012/07/27/2612230.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值