- 論壇徽章:
- 0
|
本帖最后由 nevermore4030 于 2012-03-17 23:11 編輯
1 #include <stdio.h>
2 #include <sys/types.h>
3 #include <unistd.h>
4
5 int main()
6 {
7 int i=0;
8 pid_t pid;
9 printf("還沒創(chuàng)建子進程\n");
10 i++;
11 pid = vfork();
12 if(pid==-1)
13 {
14 printf("fork error!\n");
15 }
16 else if(pid==0)
17 {
18 i++;
19 printf("我是子進程,id%d\n",getpid());
20 printf("我的父親是id:%d\n",getppid());
21 printf("-----i=%d-----\n",i);
22 }
23 else
24 {
25 i++;
26 printf("我是父進程,id:%d\n",getpid());
27 printf("-----i=%d-----\n",i);
28 }
29 exit(0);
30 }
31
最后那個exit(0);換成return 0;怎么就是個段錯誤,為什么父進程的i不可以訪問了。 |
|