我是靠谱客的博主 感动身影,这篇文章主要介绍父子进程间,环境变量的继承,现在分享给大家,希望可以做个参考。

项目中用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}

最后

以上就是感动身影最近收集整理的关于父子进程间,环境变量的继承的全部内容,更多相关父子进程间,环境变量内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部