当前位置: 技术问答>linux和unix
刚接触linux,问个幼稚的问题
来源: 互联网 发布时间:2017-04-01
本文导语: 写了个系统调用测试 #include #include int main() { int i = 0; //pid_t pt = fork(); printf("创建了一个进程!--->%dn" ,i++); return 0; } 可是运行结果是: 创建了一个进程!--->0 创建了一个进程!--->0 为嘛打印...
写了个系统调用测试
可是运行结果是:
创建了一个进程!--->0
创建了一个进程!--->0
为嘛打印两遍呀?更奇怪是打印两遍且i的值不增加,迷惑呀
#include
#include
int main()
{
int i = 0;
//pid_t pt = fork();
printf("创建了一个进程!--->%dn" ,i++);
return 0;
}
可是运行结果是:
创建了一个进程!--->0
创建了一个进程!--->0
为嘛打印两遍呀?更奇怪是打印两遍且i的值不增加,迷惑呀
|
fork后,将产生一个子进程,这时是一个父进程一个子进程,子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,是副本,他们本不共享存储空间。
|
fork以后就变成两个进程了,两个进程都会打印。
for (i = 0; i