分类信息
各地考试

当前位置:首页 » Linux认证 » 综合辅导 » 正文

Linux系统管理综合辅导:vfork创建进程使用execl函数


时间:2014-04-29 来源:Linux认证考试网 浏览次数:356  【华夏培训网:中国教育培训第一门户

vfork和fork差不多,区别是  1. vfork保证子进程先运行  2 vfork和fork一样都创建一个子进程,但是它并不将父进程的地址空

         vfork和fork差不多,区别是

  1. vfork保证子进程先运行

  2 vfork和fork一样都创建一个子进程,但是它并不将父进程的地址空间完全复制到子进程中,不会复制页表

  execl函数  int execl(const char *path, const char *arg, …);

  execl()用来执行参数path字符串所代表的文件路径,接下来的参数代表执行该文件的参数argv[0],argv[1]…

  最后一个参数必须是空指针NULL作为结束。

  返回值:成功则不返回,执行失败则返回-1,失败原因在errno中。

  #include <unistd.h>

  #include <stdio.h>

  #include <stdlib.h>

  int main(int argc,char **argv)

  {

  if(argc<2)

  {

  perror("you haven't input the filename!\n");

  exit(EXIT_FAILURE);

  }

  pid_t pid;

  pid=vfork();

  if(pid<0)

  {

  printf("Fork Error!\n");

  exit(1);

  }

  else if(pid==0)

  {

  printf("I am the child.\n");

  if(execl("./ceshi","ceshi",argv[1],NULL)<0)

  perror("execl error!\n");

  }

  else{

  printf("I am the father\n");

  return 0;

  }

  }






         Linux认证

推荐图文

热门点击排行

©2015 hxpx.com All Rights Reserved 滇ICP备13002816号-1
华夏培训网唯一网址www.hxpx.com