本文共 726 字,大约阅读时间需要 2 分钟。
进程共享
父子进程相同处: 全局变量、.data、.text、栈、堆、环境变量、用户ID、宿主目录、进程工作目录、信号处理方式 父子进程不同之处: 进程ID、fork返回值、父进程ID,进程运行时间、定时器、未决槽信号 父子进程间遵循读时共享写时复制的原则,节省内存开销父子进程不共享全局变量
shared.c#include#include int var=100;int main(int argc,char *argv[]){ pid_t pid=fork(); if(pid==0){ //son printf("var =%d,child,pid=%d,ppid=%d\n",var,getpid(),getppid()); var=101; printf("var =%d,child,pid=%d,ppid=%d\n",var,getpid(),getppid()); sleep(3); } else if(pid>0){ //parent sleep(1); //保障子进程能够修改var的值 printf("var =%d,parent,pid=%d,ppid=%d\n",var,getpid(),getppid()); var=102; printf("var =%d,parent,pid=%d,ppid=%d\n",var,getpid(),getppid()); } return 0;}
转载地址:http://hhwh.baihongyu.com/