Linux 下 操作进程环境变量的函数和指令
2017-11-23 13:42
274 查看
指令
用export 指令可导入环境变量,那么当bash导入后,通过该bash执行的子进程都有该环境变量,因为环境变量是可以被继承的。用法 export KEY=VALUE , key 该环境变量的名字,value 环境变量的值。函数
putenv/setenv , 都可以设置环境变量,它们的区别是:setenv设置环境变量的时候,直接拷贝一份参数 string 字符串,并把拷贝后的字符串的地址放置到环境变量的数组中。
putenv , 并不做拷贝直接把你给的参数,放到环境变量的数组中。如果该参数字符串是在栈上,那么当栈被释放后,该环境变量就被析构了,就找不到该环境变量了。所以用putenv 的字符串不应该在栈上开辟。
当环境变量遇上exec族函数
当它们遇到exec族函数的时候,无论 setenv/putenv , 它们设置的环境变量都会完好无缺的被留下,即使putenv 设置的环境变量在栈上,只要该字符串没被释放,调用exec族函数,该环境变量一直存在进程中。exec族函数,虽然会替换掉进程的代码段和数据,但是不会替换掉环境变量。
相关文章推荐
- Linux进程 -- exec函数操作
- C语言的fork函数在Linux中的进程操作及相关面试题讲解
- Linux编程 函数和进程操作
- Linux下的C语言编程——进程间通过signal函数通信简单操作
- Linux系统进程管理及相关操作函数
- Linux常见文件系统操作命令、进程调用命令、进程控制C函数、时间函数
- Linux进程、线程、内核操作函数
- Linux下应用程序的文件操作函数总结
- linux i2c子系统代码分析2 ---操作函数i2c_init介绍
- Linux下多个进程或线程同时对一个文件进行写操作
- Linux常用的进程管理和查看指令
- Linux下关于进程的一些操作
- Linux-进程控制中的函数
- 10-10Linux的文件操作函数以及所需头文件
- linux进程和文件操作 (基础)
- Linux 进程------sigaction 函数解析
- Linux 下串口编程之一 串口操作基本指令
- linux无锁化编程--__sync_fetch_and_add系列原子操作函数
- 《王保明老师----Linux开发学习笔记》------讲03:进程 -----fork( )函数 的疑问
- linux中操作java进程