一起学习网 一起学习网


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

网络编程 Linux 进程替换(exec函数)实现代码 06-22

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 runningn");
   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 donen");  //exec成功的话不执行此语句
      exit(1);   
    }               
    else                                                        
    {         
       pid_t ret=waitpid(id, NULL,0);
      if(ret>0)  
       {      
        printf("father wait successn"); }
         else{  
          printf("child quit not normaln");
            
       }   }   return 0;                                              }
 

                  

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

查看图片

下图是execle execve的结果图

查看图片

感谢阅读,希望能帮助到大家,谢谢大家对对本知道支持!

数据结构 二叉树的递归与非递归
数据结构二叉树的递归与非递归实例代码:#includeiostream#includequeue#includestack#includeassert.husingnamespacestd;templateclassTstructBinaryTreeNode{BinaryTreeNodeT*_left;BinaryTree

使用Linux的alternatives命令替换选择软件的版本方法
上周在安装搜索引擎Elasticsearch时,要求安装比较新的java版本,我选择了java1.8.0,安装java成功后使用java-version发现使用的版本仍旧是1.6.0,查询了一些资

详谈Linux netstat命令(高级面试必备)
简介Netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态(InterfaceStatistics),masquerade连接,多播成员(MulticastMemberships)等等。输出信息


编辑:一起学习网

标签:递归,数据结构,命令,版本,下图