L14c程序执行的环境变量

2016-11-12  本文已影响47人  夏大王2019

c程序执行的环境变量

C程序中环境变量相关的函数如下

#include <stdlib.h>

char *getenv(const char *name);
int setenv(const char *name, const char *value, int overwrite);
int putenv(char *string);
int unsetenv(const char *name);
int clearenv(void);

environ全局变量保存用户环境,以上函数可以获取、设置、删除、清空环境变量

相应的shell命令如下

echo $PATH 打印PATH环境变量
export PATH=$PATH:./ 设置环境变量
unset PATH 删除环境变量
env 显示所有环境变量

execl函数

execve(执行文件)在父进程中fork一个子进程,在子进程中调用exec函数启动新的程序。exec函数一共有六个,其中execve为内核级系统调用,其他(execl,execle,execlp,execv,execvp)都是调用execve的库函数。

execve

int execve(const char * filename,char * const argv[ ],char * const envp[ ]);

int execl(const char *path, const char *arg, ...);

execl()其中后缀"l"代表list也就是参数列表的意思,第一参数path字符指针所指向要执行的文件路径, 接下来的参数代表执行该文件时传递的参数列表:argv[0],argv[1]... 最后一个参数须用空指针NULL作结束。

上一篇 下一篇

猜你喜欢

热点阅读