APUE2e之Exercise 8.2
来源:互联网 发布:mac文件夹消失 编辑:程序博客网 时间:2024/06/10 00:48
vfork v.s. fork
/* * exercise8-2.c * * Created on: Nov 10, 2011 * Author: zhuhuang */ #include <apueerr.h> int glob = 6; int callvfork(void){int var=88;pid_t pid; //compare the running results using vfork and fork /* Using forkin main first:4656before callvforkin callvfork parent:4656glob: 6, var: 88in main second:4656after callvforkbefore anothercallin anothercall:4656after anothercallin callvfork child:4661in main second:4661after callvforkbefore anothercallin anothercall:4661after anothercall*/ /* Using vforkin main first:4608before callvforkin callvfork child:4613in main second:4613after callvforkbefore anothercallin anothercall:4613after anothercallin callvfork parent:4608glob: 7, var: 2077184*/ if((pid = fork()) < 0){err_sys("vfork error");}else if(pid == 0){//the increasing of the variables done by the child changes the values in the parentglob++;printf("in callvfork child:%dn", getpid());return 0;} printf("in callvfork parent:%dn", getpid());printf("glob: %d, var: %dn", glob, var); //var is} int anothercall(void){int i;int buf[100]; for(i=0;i<100;i++)buf[i]=1; printf("in anothercall:%dn", getpid());} int main(void){printf("in main first:%dn", getpid()); printf("before callvforkn");callvfork(); //Using vfork: child process continues to execute the following code. But parent process doesn't.//Using fork: both child and parent processes execute the following code.printf("in main second:%dn", getpid()); printf("after callvforkn");printf("before anothercalln");anothercall();printf("after anothercalln"); exit(0);}
- APUE2e之Exercise 8.2
- APUE2e之Exercise 3.2
- APUE2e之Exercise 3.6
- APUE2e之Exercise 8.7
- APUE2e之Exercise 10.11
- APUE2e之Exercise 10.6 Solution A
- APUE2e之Exercise 10.6 Solution B
- APUE2e之Exercise 10.6 Solution C
- APUE2e之Exercise 16.3 Solution A
- APUE2e之Exercise 16.3 Solution B
- APUE2e之signal function, signal handler, and signal mask on Ubuntu
- Exercise
- exercise
- Exercise
- exercise
- apue2e unp安装
- exploit-exercise的protostar之stack0
- UFLDL教程之(三)PCA and Whitening exercise
- 从iPad调用Web service
- Non ANSI
- 关于Objective-c反射
- APUE2e之Exercise 3.2
- APUE2e之Exercise 3.6
- APUE2e之Exercise 8.2
- APUE2e之Exercise 8.7
- 美国软件是如何最终装备在中国攻击直升机上的(三)
- APUE2e之signal function, signal handler, and signal mask on Ubuntu
- APUE2e之Exercise 10.6 Solution A
- APUE2e之Exercise 10.6 Solution B
- APUE2e之Exercise 10.6 Solution C
- APUE2e之Exercise 10.11
- APUE2e之Exercise 16.3 Solution A