Linux使用exec函数实现进程替换的代码分享

这篇文章主要介绍了linux 进程替换(execlinux)实现代码的相关资料,需要的朋友可以参考下

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

  # include<stdio.h>       #include<stdlib.h>     #include<unistd.h>      #include<fcntl.h>      #include<sys>    #include<sys>                                                      #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&gt;0)           {                printf("father wait successn"); }           else{              printf("child quit not normaln");                       }   }   return 0;                                              }</string.h></sys></sys></fcntl.h></unistd.h></stdlib.h></stdio.h>

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

Linux使用exec函数实现进程替换的代码分享

下图是execle execve的结果图

Linux使用exec函数实现进程替换的代码分享

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享