我是靠谱客的博主 感动身影,最近开发中收集的这篇文章主要介绍父子进程间,环境变量的继承,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目中用shell脚本启动了一个java daemon, 本想着在java代码中可以使用profile中定义的变量:CONF_DIR,却得到了个空。

挺奇怪,模糊记得父子进程间环境变量是继承的啊,按照这个逻辑:

linux profile —> shell —> java daemon 是父子的关系,profile中有的环境变量应该一层一层被传递到java daemon啊?

稍微查了下,发现认识上有问题,记录于下:

  • 环境变量是可以继承的,但是不能隔代继承,就是说子进程只能继承父进程的环境变量。
  • 什么是环境变量, local变量被export之后才是环境变量。 其实用另外一个角度理解:export的作用就是让local变量变得对子进程可见。

回到我的问题,要做的仅仅是在shell中,在启动java daemon之前执行

export ${CONF_DIR}

最后

以上就是感动身影为你收集整理的父子进程间,环境变量的继承的全部内容,希望文章能够帮你解决父子进程间,环境变量的继承所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部