LB_BW 发表于 2013-1-6 12:17:15

问:有关进程问题?

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(void)
{
   pid_t pid;
   int num = 0;

    pid = vfork(); // pid = fork();
   num++;
   printf("num = %d\n", num);
   return 0;
}
输出结果是:
      num = 1;
   num = 1;
   段错误   注:为什么会出现“段错误”,当用pid = fork();不会出现。

longhun26 发表于 2013-4-26 00:50:01

应该是因为vfork 和父进程公用数据区和堆栈造成的,同时执行同一操作,就会段错误。我试了,没有段错误,但是执行也是不对的
页: [1]
查看完整版本: 问:有关进程问题?