有趣的
fork()是,您产生的每个进程都会自动获取父进程拥有的所有内容的副本,因此,例如,我们想将int传递
myvar给两个子进程中的每个,但我希望每个进程都具有与父进程不同的值处理:
int main(){ int myvar = 0; if(fork()) myvar = 1; else if(fork()) myvar = 2; else myvar = 3; printf("I'm %d: myvar is %dn", getpid(), myvar); return 0;}因此,这样做可以使每个过程都有
myvar其自身值的“副本” 。
I'm 8517: myvar is 1I'm 8518: myvar is 2I'm 8521: myvar is 3
如果不更改该值,则每个派生进程将具有相同的值。



