[Linux进程]使用vfork创建子进程并且执行命令
/*这是一个其分别利用子进程和父进程对一个count进行计数并且输出,用于展示父进程和子进程是共享一个数据段*/#include<sys/types.h>#include<unistd.h>#include<stdio.h>#include<stdlib.h>intmain(intargc,char*argv[]){intcount=1;intchild;printf("此时执行的是父进程,当前count的值是:%d\n",count);//创建子进程之前if(!(child=vfork()))//创建子进程{//由于子进程会首先执行,以下为子进程执行过程inti;for(i=0;i<100;i++){printf("这是子进程,当前i的值是:%d\n",i);//反复输出打印结果if(i==8)exit(1);}printf("这是子进程,其进程ID是%dcount的值是:%d\n",getpid(),++count);exit(1);//退出子进程}else{//父进程执行区printf("这是父进程,其进程ID是%dcount的值是:%d,其子进程是:%d\n",getpid(),count,child);}return0;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。