磨砺技術珠矶,踐行資料之道,追求卓越價值
回到上一級頁面: PostgreSQL雜記頁 回到頂級頁面:PostgreSQL索引頁
[作者 高健@部落格園 [email protected]]
用這個從網上找的例子,看父子程序對全局變量的擁有是否不同:
複制代碼
#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");
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,如需轉載請自行聯系原作者