|
磨砺技术珠矶,践行数据之道,追求卓越价值
回到上一级页面: 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索引页
磨砺技术珠矶,践行数据之道,追求卓越价值 |
|
|