首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

创建进程解决办法

2012-05-28 
创建进程#includestdio.h#includestdlib.h#includeunistd.h#includesys/types.hintmain(){int cou

创建进程
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
int main()
{
int count=0;
pid_t pid;

pid=vfork();//用vfork()函数
count++;

printf("count=%d\n",count);
exit(0);//此程序为什么非得用这个
return 0;
}
/*************************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
int main()
{
int count=0;
pid_t pid;

pid=fork();
count++;

printf("count=%d\n",count);
//exit(0);//而用fork()却可以不用exit();
return 0;
}

[解决办法]
vfork保证子进程先运行,在它调用exec或exit之后父进程才可能被调度运行。如果在
调用这两个函数之前子进程依赖于父进程的进一步动作,则会导致死锁。

热点排行