#include<stdlib.h>
#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
int main(void)
{
printf("My name is exec function\n");
char *const envp[] = {
"Title = china women vollyball", //错误写法
"Result = win", //错误写法
NULL
};
execle("./create_process","",NULL,envp);
printf("main process[%d] is end\n",getpid());
return 0;
}
由于Linux系统中跑的程序,对于环境变量的要求就是:不能有空格!所以有空格将会导致execle函数中,envp指定当前进程所使用的环境变量不会替换掉该进程继承的所以环境变量。
原因:Linux环境变量不能有空格