您的位置:首页 > 运维架构 > Linux

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族函数,虽然会替换掉进程的代码段和数据,但是不会替换掉环境变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: