标签:
#include<stdio.h> #include<stdlib.h> #include<string.h> #include <unistd.h> #include<errno.h> //fork进程 //变量的引申 每一个进程有独立的进程地址空间有更深入的理解 //写实复制理解 // 1. 子进程修改变量时拷贝 // 2. 只拷贝页 ----> Linux内核内存管理机制 int main(void) { int num = 10; printf("sdfsd\n"); pid_t pid; printf("befor fork pid:%d\n", getpid()); //fork子进程 pid = fork(); if(-1 == pid) { perror("fork err"); return 0; } if(pid > 0) // 大于0是父进程 { printf("parent :%d\n", getpid()); ++num; printf("parent num = %d\n", num); } if(0 == pid) { printf("chlid :%d\n", getpid()); ++num; printf("chlid num = %d\n", num); } printf("after fork\n"); return 0; } /* 运行结果 ---------------- sdfsd befor fork pid:15885 parent :15885 parent num = 11 after fork chlid :15886 chlid num = 11 after fork ----------------- */
标签:
原文地址:http://www.cnblogs.com/shichuan/p/4428624.html