首页 > 开发 > Linux Shell > 正文

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

2020-07-27 18:54:16
字体:
来源:转载
供稿:网友

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的结果图


下图是execle execve的结果图

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表