学派吧-Linux使用exec函数实现进程替换的代码-Linux教程

学派吧-这篇文章主要介绍了Linux 进程替换(exec函数)实现代码的相关资料,需要的朋友可以参考下

Linux 进程替换(exec函数)实现代码

  # include<stdio.h>   
  #include<stdlib.h> 
  #include<unistd.h>  
  #include<fcntl.h>  
  #include<sys/types.h>
  #include<sys/stat.h>                                                  
  #include<string.h>  
  int main()     
   {         
    pid_t id=fork(); 
  if(id==0)      
   {        
   printf("child is running\n");
   sleep(1);    
  char* env[]={"MYENV=/A/B/C/D/AAAA",NULL};
  char* argv[]={"ls","-l","-n","-i",NULL};
 // execl("/bin/ls","ls","-l","-n","-i",NULL);
  // execlp("ls","ls","-l","-n","-i",NULL);
 //  execv("/bin/ls",argv); 
  // execvp("ls",argv);
            
             
   // execle("./myenv","myenv",NULL,env);
      execve("./myenv",argv,env);    
      printf("child id done\n");  //exec成功的话不执行此语句
      exit(1);   
    }               
    else                                                        
    {         
       pid_t ret=waitpid(id, NULL,0);
      if(ret>0)  
       {      
        printf("father wait success\n"); }
         else{  
          printf("child quit not normal\n");
            
       }   }   return 0;                                              }

下图就是execl execlp execv execvp的结果图

学派吧-Linux使用exec函数实现进程替换的代码-Linux教程

下图是execle execve的结果图

学派吧-Linux使用exec函数实现进程替换的代码-Linux教程

以上就是Linux使用exec函数实现进程替换的代码分享的详细内容,更多请学派吧其它相关文章!

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/2785.html

(0)
打赏 微信扫一扫 微信扫一扫
学派吧-使用Linux的alternatives命令替换选择软件的版本方法详解-linux教程
上一篇 2018年12月19日 下午9:49
学派吧-Linux下g++编译以及使用静态库和动态库的方法教程
下一篇 2018年12月19日 下午9:49

相关推荐

  • 总结关于文件说明注意点-linux教程

    如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624商祺云-阿里代理、景安代理、西部代理 一、/etc/hosts>man hosts1、作用: 主机名查询静态表;主要用于IP地址与计算机主机名之间的转换。/etc/hosts文件格式,每行表示一个IP地址;每行由三部分构成:IP_address canonical_host…

    服务器运维 2019年1月14日
    3.1K00
  • 阿里云硬盘扩容NOCHANGE: partition 1 is size 838858719. it cannot be grown

    新云网络某个客户阿里云服务器磁盘空间满了,于是想给它动态扩容我们从阿里云的控制面板中给硬盘扩容后结果发现我们的磁盘空间并没有改变 [root@iZuf6h590z6jc4fk8m631jZ ~]# growpart /dev/vda 1 CHANGED: partition=1 start=2048 old: size=419428319 end=41943…

    服务器运维 2021年4月9日
    5.5K00
  • Linux-centos下GPT格式磁盘重新格式化为MBR格式

    [v_warn]注意:本文不是教大家把GPT格式转成MBR格式,是重新格式化磁盘,所以磁盘里面的数据会被删得一干二净!!![/v_warn] 一,为什么不能用fdisk命令更改磁盘格式? fdisk命令是针对MBR分区格式的,虽然能用g命令把磁盘格式化为GPT,但是无法再重新格式化为MBR格式,因为fdisk命令无法操作GPT格式的磁盘。二,用parted命…

    2020年7月28日
    3.3K00
  • 学派吧-详解Linux7设置静态IP的方法-linux教程

    这篇文章主要介绍了Centos Linux7设置静态IP的实例的相关资料,需要的朋友可以参考下 Centos Linux7设置静态IP的实例 ## 先进入配置文件的放置位置: cd /etc/sysconfig/network-scripts/ ## 查看当前网卡使用的是哪个文件 ip add ## 过滤出配置文件列表 ll | grep ifcfg ## …

    服务器运维 2018年12月12日
    2.4K00
  • 学派吧-Linux下如何实现C++操作Mysql数据库的详细介绍-linux教程

    由于工作需要抽出一周的时间来研究C/C++访问各种数据库的方法,并打算封装一套数据库操作类,现在奉上最简单的一部分:在Linux下访问MySQL数据库。 想用C++写项目,数据库是必须的,所以这两天学了一下C++操作MySQL数据库的方法。也没有什么教程,就是在网上搜的知识,下面汇总一下。 连接MySQL数据库有两种方法:第一种是使用ADO连接,不过这种只适…

    2019年1月1日
    2.2K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部