In diesem Artikel werden hauptsächlich die relevanten Informationen zum Implementierungscode für den Linux-Prozess (execFunktion ) vorgestellt. Freunde in Not können sich auf den
Linux-Prozess beziehen Implementierungscode für Ersatz (Exec-Funktion)
# 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; }
Das Bild unten ist das Ergebnisbild von execl execlp execv execvp
Das Bild unten Es ist das Ergebnisdiagramm von execle execve
Das obige ist der detaillierte Inhalt vonLinux verwendet die Funktion exec, um Code-Sharing für den Prozessaustausch zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!